File: makefile.win

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 (354 lines) | stat: -rw-r--r-- 10,016 bytes parent folder | download
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# make file for Borland C++ 3.1 Windows version
# and Win32 using Borland C++ 4 (or 5? --- 4.52 is known to work)
# or Borland C++ Builder 1 (newer versions may work as well)
#
# This makefile may need some editing before it can be used. Check
# BCC installation path, the WIN32 and RUNTIME_LIB flags, in particular.
#
# The compile and link includes debug flags.  Take them out if you
# do not want them included  (-y -v -M, /m /s /v /l)
#
# New 991003: WIN32=1 build makes the helpers (doc2rtf, bf_test) as Win32
#             console applications, instead of plain DOS programs. This
#             way, it also works with those compilers missing a DOS option.

# where to place wgnuplot.hlp helpfile
HELPFILE = wgnuplot.hlp

# location of Borland C compiler
TC = d:\bc31

# location of TLINK.EXE and BCC.EXE
BIN = $(TC)\bin\\

#The full path name of the help compiler. For BC++:
HC = $(BIN)\hc
# this comes with C++ Builder 1.0 (but doesn't seem to work):
#HC = $(TC)\help\tools\hcw /c /e
# or you can use the 'help workshop' available directly from MS:
#HC = h:\mssdk\bin\hcw /c/e

# WIN32=1 for Win32s or Win32 (--> '95 or NT)
# new: allow '-DWIN32=1' on make command line to take effect:
!if "$(WIN32)"==""
WIN32=0
!endif

# Uncomment _this_ for BC++ 4.52 (or others that give linker errors for
# the 'errno' variable)... :
RUNTIME_LIBRARY=cw32.lib

# ... or this for more modern ones (like C++Builder 1.0) -- it's the
# properly multithreading one:
#RUNTIME_LIBRARY=cw32mt.lib

!if $(WIN32)

# 32bit Windows compilation.
CC = bcc32
PROCESSOR_OPT =
DEFINE_HELPFILE = -DHELPFILE=\"$(HELPFILE)\"

# For BC++ 4.52, you may try this version with Pentium scheduling
# optimization. NB: bcc32a in 4.52 increased in bugginess quite
# a bit more than in program speed :-(
#CC = bcc32a
#PROCESSOR_OPT = -5

!else

# 16bit compilation:
CC = bcc
DEFINE_HELPFILE = -DHELPFILE="$(HELPFILE)"

!endif

# -c means don't link
# -ml means use large model (large code, large data)
# -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
# -w-rvl ignore function must return a value error
# -Ff=128 means make data object > 128 FAR
# -W means window application
# -DREADLINE to use the history/line editing capability. If you want this 
#    capability add -DREADLINE to CFLAGS then add 'readline' to the /o
#    section of the linker call.
!if $(WIN32)
CFLAGS = -c -W -M -G -y -v -w-rvl -w-use -w-par -w-aus -w-pro $(PROCESSOR_OPT) -I$(TC)\include -Iwin -DREADLINE=1 -DHAVE_STRNICMP -DWIN32 -DHAVE_STRERROR -DNO_GIH -DNOGAMMA -DWIN32_LEAN_AND_MEAN -DANSI_C -DHAVE_GETCWD
CAUXFLAGS = -tWC -w-par -w-use -w-aus -f -N -M -y -v -d -I$(TC)\include -DWIN32 -DWINDOWS_NO_GUI -DHAVE_STRNICMP -DANSI_C
!else
CFLAGS = -c -W -ml -w-par -w-use -w-aus -f -h -N -M -y -v -d -Ff=32 -I$(TC)\include -Iwin -DREADLINE=1 -zEGPFAR_DATA -DHAVE_STRNICMP -DMSDOS=1 -DNO_GIH -DANSI_C -DHAVE_GETCWD -DNDEBUG
CAUXFLAGS = -ml -w-par -w-use -w-aus -f -N -M -y -v -d -I$(TC)\include -DMSDOS=1 -DHAVE_STRNICMP -DANSI_C
!endif

OBJS = 	bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj \
	internal.obj misc.obj parse.obj plot.obj plot2d.obj plot3d.obj \
	readline.obj scanner.obj set.obj show.obj specfun.obj standard.obj \
	stdfn.obj term.obj util.obj version.obj binary.obj winmain.obj \
	interpol.obj fit.obj matrix.obj datafile.obj alloc.obj util3d.obj \
	hidden3d.obj time.obj help.obj

DLLOBJS = wgnuplib.obj wtext.obj wmenu.obj wpause.obj wgraph.obj wprinter.obj 

CSOURCE5 = term\aed.trm term\cgi.trm term\cgm.trm term\debug.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/pbm.trm term\win.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.obj
WINDOWS = makefile.win makefile.msw README.win win\wcommon.h \
	win\wgnuplib.c win\wgnuplib.def win\wgnuplib.h win\wgnuplib.rc\
	win\wgnuplot.def win\wgnuplot.hpj win\wgnuplot.mnu win\wgnuplot.rc \
	win\wgraph.c win\winmain.c win\wmenu.c win\wpause.c \
	win\wprinter.c win\wresourc.h win\wtext.c win\wtext.h \
	win\geticon.c docs\doc2rtf.c term\win.trm win\wgnupl32.def

!if $(WIN32)
all: wgnupl32.exe $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
!else
all: wgnuplot.exe wgnuplot.dll $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
!endif

wgnuplot.exe: $(OBJS) win\wgnuplot.def win\wgnuplot.rc winmain.obj wgnuplot.lib
#	$(BIN)tlink /Twe /c @&&!
	$(BIN)tlink /Twe /c /s /v /l @&&!
$(TC)\lib\C0Wl +
bitmap command eval graphics graph3d help internal misc parse +
plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
binary interpol +
winmain +
readline +
fit matrix datafile alloc util3d hidden3d time +
,wgnuplot,wgnuplot, +
wgnuplot.lib +
$(TC)\lib\import +
$(TC)\lib\mathwl +
$(TC)\lib\cwl, +
win\wgnuplot.def
!
	$(BIN)brc -30 -k -i$(TC)\include win\wgnuplot.rc wgnuplot.exe

# gnuplot.opt contains a list of the 'core' files, in case that's of
# any use...

wgnupl32.exe: $(OBJS) $(DLLOBJS) win\wgnupl32.def wgnupl32.res winmain.obj
#	$(BIN)tlink32 /Tpe /c @&&!
	$(BIN)tlink32 /Tpe /c /m /s /v @&&!
$(TC)\lib\C0W32 +
bitmap command eval graphics graph3d help internal misc parse +
plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
wgnuplib wtext wmenu wpause wgraph wprinter +
binary interpol +
winmain +
readline +
fit matrix datafile alloc util3d hidden3d time +
,wgnupl32,wgnupl32, +
$(TC)\lib\import32 +
$(TC)\lib\$(RUNTIME_LIBRARY), +
win\wgnupl32.def, wgnupl32.res
!

wgnupl32.res: win\wgnuplot.rc win\wgnuplib.rc
	$(BIN)brcc32 -DWIN32 -i$(TC)\include -r -fowgnupl32 win\wgnuplot.rc

# default rules

.c.obj:
	$(BIN)$(CC) @&&!
$(CFLAGS)
! $<

# rules

bitmap.obj: bitmap.c bitmap.h plot.h

command.obj: command.c plot.h setshow.h fit.h
        $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
$(CFLAGS)
! command.c

contour.obj: contour.c plot.h

eval.obj: eval.c plot.h

graphics.obj: graphics.c plot.h setshow.h

graph3d.obj: graphics.c plot.h setshow.h

fit.obj: fit.c fit.h matrix.h plot.h

matrix.obj: matrix.c matrix.h fit.h

internal.obj: internal.c plot.h

misc.obj: misc.c plot.h setshow.h 

parse.obj: parse.c plot.h
	$(BIN)$(CC) @&&!
$(CFLAGS)
! parse.c

plot.obj: plot.c plot.h setshow.h
	$(BIN)$(CC) @&&!
$(CFLAGS)
! plot.c

hidden3d.obj: hidden3d.c plot.h setshow.h

plot3d.obj: plot3d.c plot.h setshow.h

plot2d.obj: plot2d.c plot.h setshow.h

readline.obj: readline.c plot.h

scanner.obj: scanner.c plot.h

set.obj: set.c plot.h setshow.h

show.obj: show.c plot.h setshow.h
        $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
$(CFLAGS)
! 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

term.obj: term.c term.h plot.h set.c show.c bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) win\wgnuplib.h
	$(BIN)$(CC) @&&!
$(CFLAGS)
! $(TERMFLAGS) -Iterm -I. term.c

util.obj: util.c plot.h

util3d.obj: util3d.c plot.h setshow.h

version.obj: version.c

winmain.obj: win\winmain.c win\wgnuplib.h win\wtext.h plot.h
        $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
$(CFLAGS)
! win\winmain.c

wgnuplot.mnu: win\wgnuplot.mnu
	copy win\wgnuplot.mnu wgnuplot.mnu


# different compiler options for DLL's */
!if $(WIN32)
DLLCC = $(BIN)$(CC) -DWIN32 -c -M -y -v -WE -I$(TC)\include -Iwin
!else
DLLCC = $(BIN)$(CC) -c -WD -ms! -w-par -f -M -y -v -w -N -I$(TC)\include -Iwin
!endif

wgnuplot.lib: wgnuplot.dll
	$(BIN)implib wgnuplot.lib wgnuplot.dll

wgnuplot.dll: $(DLLOBJS) win/wgnuplib.def win/wgnuplib.rc
	$(BIN)tlink /c /n /Twd /L$(TC)\lib /m /s /v /l @&&!
c0ds +
wgnuplib wtext wmenu wpause wgraph wprinter, +
wgnuplot.dll, +
wgnuplib.map, +
import mathws cws, +
win\wgnuplib.def
!
	$(BIN)brc -30 -i$(TC)\include -t win\wgnuplib.rc wgnuplot.dll

wgnuplib.obj: win/wgnuplib.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wgnuplib.c
	
wmenu.obj: win/wmenu.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wmenu.c

wtext.obj: win/wtext.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wtext.c
	
wpause.obj: win/wpause.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wpause.c
	
wprinter.obj: win/wprinter.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wprinter.c
	
wgraph.obj: win/wgraph.c win/wgnuplib.h win/wcommon.h win/wresourc.h
	$(DLLCC) win/wgraph.c
	
# convert gnuplot.doc to gnuplot.rtf
$(HELPFILE): win\gnuplot.rtf
	$(HC) win\wgnuplot.hpj

win\gnuplot.rtf: doc2rtf.exe docs\gnuplot.doc win\wgnuplot.hpj
	doc2rtf docs\gnuplot.doc win\gnuplot.rtf

doc2rtf.exe: docs\doc2rtf.c docs\termdoc.c docs\xref.c $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
	$(BIN)$(CC) -edoc2rtf.exe @&&!
-D_Windows
-w-pro
$(CAUXFLAGS)
-I. -Iterm -Idocs
! docs\doc2rtf.c docs\termdoc.c docs\xref.c

# make binary demo files
demo\bf_test.exe: bf_test.c dbinary.obj dalloc.obj
	$(BIN)$(CC) -edemo\bf_test.exe @&&!
$(CAUXFLAGS)
-L$(TC)\lib
! bf_test.c dbinary.obj dalloc.obj
	cd demo
	bf_test
	cd ..

dalloc.obj: alloc.c
	$(BIN)$(CC) -c @&&!
$(CAUXFLAGS)
! -odalloc.obj alloc.c

dbinary.obj: binary.c
	$(BIN)$(CC) -c @&&!
$(CAUXFLAGS)
! -odbinary.obj binary.c

# clean up temporary files
clean:
	del *.obj
	del win\*.obj
	del wgnuplot.map
	del win\wgnuplot.res
	del wgnupl32.map
	del wgnupl32.res
	del win\gnuplot.rtf
	del doc2rtf.map
	del doc2rtf.exe
	del win\wgnuplib.res
	del wgnuplib.map
	del wgnuplot.lib
	del bf_test.map
	del demo\bf_test.map
	del demo\bf_test.exe
	
realclean: veryclean

veryclean: clean
	del wgnuplot.exe
	del wgnuplot.hlp
	del win\wgnuplot.hlp
	-attrib -h wgnuplot.gid
	del wgnuplot.gid
	del wgnuplot.mnu
	del wgnuplot.dll
	del wgnupl32.exe
	del demo\binary1
	del demo\binary2
	del demo\binary3
	del demo\fit.log
	del demo\soundfit.par