# make file for Borland C++ 3.x # uses Borland proprietary overlay manager # Modified from the TurboC makefile by Maurice Castro # The compile and link includes debug flags. Take them out if you # do not want them included (-y -v -M, /m /s /v /l) # # the makefile no longer depends on a linker options file. # this file will be created as needed. (AL 07/17/92) # # The compiler commands lines have become too long so I # modified the make file to use an options file to store $(CFLAGS) # (ALM 08/08/94) # # You will probably also need to edit term.h to not include some of the # terminal types which you are not going to use, otherwise you will get a # message about too much global data defined in term.c. # # where to place gnuplot.gih helpfile HELPFILE = gnuplot.gih # location of Turbo C compiler TC = c:\bc #TC = c:\tc # name of C compiler CC = bcc #CC = tcc # location of TLINK.EXE and TCC.EXE or BCC.EXE BIN = $(TC)\bin\\ #BIN = # location of BGI files, # change this line if not in TC directory, i.e. $(TC)\bgi BGI = $(TC)\bgi # location of bgiobj.exe tool - convertion of BGI to a linkable OBJ file. BGIOBJ = $(TC)\bgi\bgiobj #BGIOBJ = # location of the system libraries LIB = $(TC)\lib\\ # Super VGA support: name and location of the SuperVGA driver SVGA_BGI = c:\bc\bgi\svga256.bgi # the memory model to use (l = large code, large data; h = huge) MODEL = l # -c means don't link, -f means emulate 8087 if not present # -m? says which model to use # -M means produce link map # -y means include line numbers for debugger # -v means include debug info # -w- means ignore warnings and do not report them # -DREADLINE to use the history/line editing capability. If you want this # capability add -DREADLINE to CFLAGS # -DLITE means no hiddenline removal to conserve memory # -Z -2 -3 -G -O are optimization flags (-2 produces 286 only code) #CFLAGS1 = -Ff=256 -c -f -m$(MODEL) -w- -Z -2 -G -O -n. # HBB: specialise on '386 or higher, and take '-c' out, so # the flags can be used for doc2xxx and bf_test as well: CFLAGS1 = -Ff=256 -f -m$(MODEL) -w- -Z -3 -f287 -d -G -n. -v -y #CFLAGS2 = -I$(TC)\include -DLITE -DMSDOS -DPC -DREADLINE -DHAVE_STRNICMP # HBB: try without -DLITE, to activate hidden-lining (for trying) # and #define ANSI_C! CFLAGS2 = -I$(TC)\include -DMSDOS=1 -DPC -DANSI_C -DREADLINE=1 -DHAVE_GETCWD -DHAVE_STRNICMP CFLAGS3 = -DHAVE_SLEEP -DEXTERN_ERRNO -DHAVE_STRING_H -DHAVE_VALUES_H # separate set of FLAGS (both CFLAGS and LDFLAGS for the doc2xxx tools: DOC2XXX_FLAGS = -Idocs -Iterm @cflags.tc -ml -L$(TC)\lib TERMFLAGS = # With Overlay Support OVLY1 = -Y OVLY2 = -Yo OVERLIB = $(LIB)overlay SLASHO = /o ODASH = /o- # Without Overlay Support #OVLY1 = #OVLY2 = #OVERLIB = #SLASHO = #ODASH = OBJ1 = bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj OBJ2 = help.obj internal.obj misc.obj parse.obj plot.obj plot2d.obj \ plot3d.obj readline.obj OBJ3 = scanner.obj set.obj show.obj specfun.obj standard.obj stdfn.obj \ term.obj time.obj util.obj OBJ4 = version.obj binary.obj interpol.obj fit.obj matrix.obj OBJ5 = datafile.obj alloc.obj hidden3d.obj util3d.obj # uncomment svgaf.obj if you wish to include Super VGA support OBJBGI= cgaf.obj egavgaf.obj hercf.obj attf.obj pc3270f.obj svgaf.obj OBJS = $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4) $(OBJ5) $(OBJBGI) CSOURCE5 = term\aed.trm term\cgi.trm term\dumb.trm term\dxy.trm \ term\eepic.trm term\epson.trm term\fig.trm term\hp26.trm \ term\hp2648.trm term\hpgl.trm term\hpljii.trm CSOURCE6 = term\impcodes.h term\imagen.trm term\object.h \ term\iris4d.trm term\kyo.trm term\latex.trm term\pc.trm CSOURCE7 = term\post.trm term\qms.trm term\regis.trm term\sun.trm \ term\t410x.trm term\tek.trm term\unixpc.trm term\unixplot.trm \ term\v384.trm term\x11.trm CSOURCE8 = contour.c specfun.c binary.c interpol.c all: cflags.tc gnuplot.exe $(HELPFILE) demo\bf_test.exe # use linkopt.tc and cflags.tc to avoid command-line overflow gnuplot.exe: $(OBJS) linkopt.tc cflags.tc # With or without debug information (select one) $(BIN)tlink /m /s /v /l @linkopt.tc # $(BIN)tlink @linkopt.tc # create linker options file # note that when you change the model or switch overlaying, # you will have to execute 'make clean' linkopt.tc: makefile.tc echo >linkopt.tc $(LIB)C0$(MODEL) + echo >>linkopt.tc $(SLASHO) $(OBJ1) + echo >>linkopt.tc $(OBJ2) + echo >>linkopt.tc $(OBJ3) + echo >>linkopt.tc $(OBJ4) + echo >>linkopt.tc $(OBJ5) + echo >>linkopt.tc $(ODASH) $(OBJBGI) + echo >>linkopt.tc ,gnuplot,gnuplot, + echo >>linkopt.tc $(OVERLIB) + echo >>linkopt.tc $(LIB)emu + echo >>linkopt.tc $(LIB)math$(MODEL) + echo >>linkopt.tc $(LIB)c$(MODEL) + echo >>linkopt.tc $(LIB)graphics # echo >>linkopt.tc ----- # echo >>linkopt.tc this file is generated automatically. don't change it, change the makefile. # Create an options file for the C flags to avoid command line overflow # (the only way I could think of to make sure this file was up to date # and present when needed was to make all object files dependant upon # it - ugly) <- this may cause error, do make clean instead. cflags.tc: makefile.tc echo >cflags.tc $(CFLAGS1) echo >>cflags.tc $(CFLAGS2) echo >>cflags.tc $(CFLAGS3) # default rules .c.obj: $(BIN)$(CC) -c $(OVLY2) @cflags.tc $< # The default for files is to be compiled for overlaying if OVLY1 and # OVLY2 are defined. plot.c and parse.c are not suitable for overlaying. bitmap.obj: bitmap.c bitmap.h plot.h command.obj: command.c plot.h setshow.h help.h fit.h $(BIN)$(CC) -c $(OVLY2) @cflags.tc -DHELPFILE=\"$(HELPFILE)\" command.c contour.obj: contour.c plot.h eval.obj: eval.c plot.h graphics.obj: graphics.c plot.h setshow.h graph3d.obj: graph3d.c plot.h setshow.h hidden3d.obj: hidden3d.c plot.h setshow.h util3d.obj: util3d.c plot.h setshow.h fit.obj: fit.c fit.h matrix.h plot.h matrix.obj: matrix.c matrix.h fit.h help.obj: help.c plot.h help.h internal.obj: internal.c plot.h misc.obj: misc.c plot.h setshow.h help.h parse.obj: parse.c plot.h $(BIN)$(CC) -c $(OVLY1) @cflags.tc parse.c plot.obj: plot.c plot.h setshow.h $(BIN)$(CC) -c $(OVLY1) @cflags.tc plot.c readline.obj: readline.c scanner.obj: scanner.c plot.h set.obj: set.c plot.h setshow.h show.obj: show.c plot.h setshow.h $(BIN)$(CC) -c $(OVLY2) @cflags.tc -DHELPFILE="$(HELPFILE)" show.c specfun.obj: specfun.c standard.obj: standard.c plot.h stdfn.obj: stdfn.c stdfn.h interpol.obj: interpol.c plot.h setshow.h # the CSOURCE? dependencies are not up to date (but who cares) term.obj: term.c term.h plot.h set.c show.c bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) $(BIN)$(CC) -c $(OVLY2) @cflags.tc $(TERMFLAGS) -DDEFAULTTERM="dospc" -Iterm -I. term.c util.obj: util.c plot.h version.obj: version.c # convert gnuplot.doc to gnuplot.gih $(HELPFILE): doc2gih.exe docs\gnuplot.doc doc2gih docs\gnuplot.doc $(HELPFILE) doc2gih.exe: docs\doc2gih.c docs\termdoc.c $(BIN)$(CC) $(DOC2XXX_FLAGS) -edoc2gih.exe docs\doc2gih.c docs\termdoc.c doc2tex.exe: docs\doc2tex.c $(BIN)$(CC) $(DOC2XXX_FLAGS) -DALL_TERM_DOC docs\doc2tex.c demo\bf_test.exe: bf_test.c binary.obj alloc.obj $(BIN)$(CC) -edemo\bf_test.exe @cflags.tc -L$(TC)\lib bf_test.c binary.obj alloc.obj cd demo bf_test cd .. # convert Borland Graphics Interface files to object for linking cgaf.obj: $(BGI)\cga.bgi $(BGIOBJ) /F $(BGI)\cga egavgaf.obj: $(BGI)\egavga.bgi $(BGIOBJ) /F $(BGI)\egavga hercf.obj: $(BGI)\herc.bgi $(BGIOBJ) /F $(BGI)\herc attf.obj: $(BGI)\att.bgi $(BGIOBJ) /F $(BGI)\att pc3270f.obj: $(BGI)\pc3270.bgi $(BGIOBJ) /F $(BGI)\pc3270 svgaf.obj: $(SVGA_BGI) $(BGIOBJ) /F $(SVGA_BGI) svgaf.obj _SVGA_driver_far SVGA_TEXT # $(OBJS): cflags.tc # this causes error message # clean target - remove all temp files, but leave executable intact # needed when changing configuration (model or overlaying) clean: del *.obj del gnuplot.map del linkopt.tc del doc2gih.exe del cflags.tc # realclean target - remove all files created by the makefile realclean: clean del gnuplot.exe del gnuplot.gih del demo\soundfit.par del demo\fit.log del demo\bf_test.exe del demo\bf_test.map del demo\binary1 del demo\binary2 del demo\binary3