1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261
|
# 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 -DPC -DREADLINE -DHAVE_GETCWD -DHAVE_STRNICMP
CFLAGS3 = -DHAVE_SLEEP -DANSI_C -DLITE
# 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
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
$(BIN)$(CC) $(DOC2XXX_FLAGS) docs\doc2gih.c
doc2tex.exe: docs\doc2tex.c
$(BIN)$(CC) $(DOC2XXX_FLAGS) 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\bf_test.exe
del demo\binary1
del demo\binary2
del demo\binary3
|