File: makefile.tc

package info (click to toggle)
gnuplot 3.7.1p1-4
  • links: PTS
  • area: main
  • in suites: potato
  • size: 5,808 kB
  • ctags: 4,418
  • sloc: ansic: 43,279; lisp: 661; makefile: 647; asm: 539; sh: 416; objc: 379; csh: 297; pascal: 194; perl: 138
file content (269 lines) | stat: -rw-r--r-- 8,280 bytes parent folder | download | duplicates (2)
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
262
263
264
265
266
267
268
269
# 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