Annotation of OpenXM_contrib/gnuplot/makefile.win, Revision 1.1.1.2
1.1 maekawa 1: # make file for Borland C++ 3.1 Windows version
1.1.1.2 ! maekawa 2: # and Win32 using Borland C++ 4 (or 5? --- 4.52 is known to work)
! 3: # or Borland C++ Builder 1 (newer versions may work as well)
! 4: #
! 5: # This makefile may need some editing before it can be used. Check
! 6: # BCC installation path, the WIN32 and RUNTIME_LIB flags, in particular.
! 7: #
1.1 maekawa 8: # The compile and link includes debug flags. Take them out if you
9: # do not want them included (-y -v -M, /m /s /v /l)
1.1.1.2 ! maekawa 10: #
! 11: # New 991003: WIN32=1 build makes the helpers (doc2rtf, bf_test) as Win32
! 12: # console applications, instead of plain DOS programs. This
! 13: # way, it also works with those compilers missing a DOS option.
1.1 maekawa 14:
15: # where to place wgnuplot.hlp helpfile
16: HELPFILE = wgnuplot.hlp
1.1.1.2 ! maekawa 17:
1.1 maekawa 18: # location of Borland C compiler
1.1.1.2 ! maekawa 19: TC = d:\bc31
! 20:
! 21: # location of TLINK.EXE and BCC.EXE
! 22: BIN = $(TC)\bin\\
! 23:
! 24: #The full path name of the help compiler. For BC++:
! 25: HC = $(BIN)\hc
! 26: # this comes with C++ Builder 1.0 (but doesn't seem to work):
! 27: #HC = $(TC)\help\tools\hcw /c /e
! 28: # or you can use the 'help workshop' available directly from MS:
! 29: #HC = h:\mssdk\bin\hcw /c/e
! 30:
1.1 maekawa 31: # WIN32=1 for Win32s or Win32 (--> '95 or NT)
32: # new: allow '-DWIN32=1' on make command line to take effect:
33: !if "$(WIN32)"==""
34: WIN32=0
35: !endif
36:
1.1.1.2 ! maekawa 37: # Uncomment _this_ for BC++ 4.52 (or others that give linker errors for
! 38: # the 'errno' variable)... :
! 39: RUNTIME_LIBRARY=cw32.lib
! 40:
! 41: # ... or this for more modern ones (like C++Builder 1.0) -- it's the
! 42: # properly multithreading one:
! 43: #RUNTIME_LIBRARY=cw32mt.lib
! 44:
1.1 maekawa 45: !if $(WIN32)
1.1.1.2 ! maekawa 46:
! 47: # 32bit Windows compilation.
1.1 maekawa 48: CC = bcc32
49: PROCESSOR_OPT =
1.1.1.2 ! maekawa 50: DEFINE_HELPFILE = -DHELPFILE=\"$(HELPFILE)\"
! 51:
! 52: # For BC++ 4.52, you may try this version with Pentium scheduling
! 53: # optimization. NB: bcc32a in 4.52 increased in bugginess quite
! 54: # a bit more than in program speed :-(
! 55: #CC = bcc32a
! 56: #PROCESSOR_OPT = -5
! 57:
1.1 maekawa 58: !else
1.1.1.2 ! maekawa 59:
! 60: # 16bit compilation:
1.1 maekawa 61: CC = bcc
1.1.1.2 ! maekawa 62: DEFINE_HELPFILE = -DHELPFILE="$(HELPFILE)"
! 63:
1.1 maekawa 64: !endif
65:
66: # -c means don't link
67: # -ml means use large model (large code, large data)
68: # -M means produce link map
69: # -y means include line numbers for debugger
70: # -v means include debug info
71: # -w- means ignore warnings and do not report them
72: # -w-rvl ignore function must return a value error
73: # -Ff=128 means make data object > 128 FAR
74: # -W means window application
75: # -DREADLINE to use the history/line editing capability. If you want this
76: # capability add -DREADLINE to CFLAGS then add 'readline' to the /o
77: # section of the linker call.
78: !if $(WIN32)
79: 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
1.1.1.2 ! maekawa 80: 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
1.1 maekawa 81: !else
82: 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
83: CAUXFLAGS = -ml -w-par -w-use -w-aus -f -N -M -y -v -d -I$(TC)\include -DMSDOS=1 -DHAVE_STRNICMP -DANSI_C
84: !endif
85:
86: OBJS = bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj \
87: internal.obj misc.obj parse.obj plot.obj plot2d.obj plot3d.obj \
88: readline.obj scanner.obj set.obj show.obj specfun.obj standard.obj \
89: stdfn.obj term.obj util.obj version.obj binary.obj winmain.obj \
90: interpol.obj fit.obj matrix.obj datafile.obj alloc.obj util3d.obj \
91: hidden3d.obj time.obj help.obj
92:
93: DLLOBJS = wgnuplib.obj wtext.obj wmenu.obj wpause.obj wgraph.obj wprinter.obj
94:
95: CSOURCE5 = term\aed.trm term\cgi.trm term\cgm.trm term\debug.trm \
96: term\dumb.trm term\dxy.trm \
97: term\eepic.trm term\epson.trm term\fig.trm term\hp26.trm \
98: term\hp2648.trm term\hpgl.trm term\hpljii.trm
99: CSOURCE6 = term\impcodes.h term\imagen.trm term\object.h \
100: term\iris4d.trm term\kyo.trm term\latex.trm term/pbm.trm term\win.trm
101: CSOURCE7 = term\post.trm term\qms.trm term\regis.trm term\sun.trm \
102: term\t410x.trm term\tek.trm term\unixpc.trm term\unixplot.trm \
103: term\v384.trm term\x11.trm
104: CSOURCE8 = contour.c specfun.c binary.c interpol.obj
105: WINDOWS = makefile.win makefile.msw README.win win\wcommon.h \
106: win\wgnuplib.c win\wgnuplib.def win\wgnuplib.h win\wgnuplib.rc\
107: win\wgnuplot.def win\wgnuplot.hpj win\wgnuplot.mnu win\wgnuplot.rc \
108: win\wgraph.c win\winmain.c win\wmenu.c win\wpause.c \
109: win\wprinter.c win\wresourc.h win\wtext.c win\wtext.h \
110: win\geticon.c docs\doc2rtf.c term\win.trm win\wgnupl32.def
111:
112: !if $(WIN32)
113: all: wgnupl32.exe $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
114: !else
115: all: wgnuplot.exe wgnuplot.dll $(HELPFILE) wgnuplot.mnu demo\bf_test.exe
116: !endif
117:
118: wgnuplot.exe: $(OBJS) win\wgnuplot.def win\wgnuplot.rc winmain.obj wgnuplot.lib
119: # $(BIN)tlink /Twe /c @&&!
120: $(BIN)tlink /Twe /c /s /v /l @&&!
121: $(TC)\lib\C0Wl +
122: bitmap command eval graphics graph3d help internal misc parse +
123: plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
124: binary interpol +
125: winmain +
126: readline +
127: fit matrix datafile alloc util3d hidden3d time +
128: ,wgnuplot,wgnuplot, +
129: wgnuplot.lib +
130: $(TC)\lib\import +
131: $(TC)\lib\mathwl +
132: $(TC)\lib\cwl, +
133: win\wgnuplot.def
134: !
135: $(BIN)brc -30 -k -i$(TC)\include win\wgnuplot.rc wgnuplot.exe
136:
137: # gnuplot.opt contains a list of the 'core' files, in case that's of
138: # any use...
139:
140: wgnupl32.exe: $(OBJS) $(DLLOBJS) win\wgnupl32.def wgnupl32.res winmain.obj
141: # $(BIN)tlink32 /Tpe /c @&&!
142: $(BIN)tlink32 /Tpe /c /m /s /v @&&!
143: $(TC)\lib\C0W32 +
144: bitmap command eval graphics graph3d help internal misc parse +
145: plot plot2d plot3d scanner set show specfun standard stdfn term util version contour +
146: wgnuplib wtext wmenu wpause wgraph wprinter +
147: binary interpol +
148: winmain +
149: readline +
150: fit matrix datafile alloc util3d hidden3d time +
151: ,wgnupl32,wgnupl32, +
152: $(TC)\lib\import32 +
1.1.1.2 ! maekawa 153: $(TC)\lib\$(RUNTIME_LIBRARY), +
1.1 maekawa 154: win\wgnupl32.def, wgnupl32.res
155: !
156:
157: wgnupl32.res: win\wgnuplot.rc win\wgnuplib.rc
158: $(BIN)brcc32 -DWIN32 -i$(TC)\include -r -fowgnupl32 win\wgnuplot.rc
159:
160: # default rules
161:
162: .c.obj:
163: $(BIN)$(CC) @&&!
164: $(CFLAGS)
165: ! $<
166:
167: # rules
168:
169: bitmap.obj: bitmap.c bitmap.h plot.h
170:
171: command.obj: command.c plot.h setshow.h fit.h
1.1.1.2 ! maekawa 172: $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
1.1 maekawa 173: $(CFLAGS)
174: ! command.c
175:
176: contour.obj: contour.c plot.h
177:
178: eval.obj: eval.c plot.h
179:
180: graphics.obj: graphics.c plot.h setshow.h
181:
182: graph3d.obj: graphics.c plot.h setshow.h
183:
184: fit.obj: fit.c fit.h matrix.h plot.h
185:
186: matrix.obj: matrix.c matrix.h fit.h
187:
188: internal.obj: internal.c plot.h
189:
190: misc.obj: misc.c plot.h setshow.h
191:
192: parse.obj: parse.c plot.h
193: $(BIN)$(CC) @&&!
194: $(CFLAGS)
195: ! parse.c
196:
197: plot.obj: plot.c plot.h setshow.h
198: $(BIN)$(CC) @&&!
199: $(CFLAGS)
200: ! plot.c
201:
202: hidden3d.obj: hidden3d.c plot.h setshow.h
203:
204: plot3d.obj: plot3d.c plot.h setshow.h
205:
206: plot2d.obj: plot2d.c plot.h setshow.h
207:
208: readline.obj: readline.c plot.h
209:
210: scanner.obj: scanner.c plot.h
211:
212: set.obj: set.c plot.h setshow.h
213:
214: show.obj: show.c plot.h setshow.h
1.1.1.2 ! maekawa 215: $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
1.1 maekawa 216: $(CFLAGS)
217: ! show.c
218:
219: specfun.obj: specfun.c
220:
221: standard.obj: standard.c plot.h
222:
223: stdfn.obj: stdfn.c stdfn.h
224:
225: interpol.obj: interpol.c plot.h setshow.h
226:
227: term.obj: term.c term.h plot.h set.c show.c bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) win\wgnuplib.h
228: $(BIN)$(CC) @&&!
229: $(CFLAGS)
230: ! $(TERMFLAGS) -Iterm -I. term.c
231:
232: util.obj: util.c plot.h
233:
234: util3d.obj: util3d.c plot.h setshow.h
235:
236: version.obj: version.c
237:
238: winmain.obj: win\winmain.c win\wgnuplib.h win\wtext.h plot.h
1.1.1.2 ! maekawa 239: $(BIN)$(CC) $(DEFINE_HELPFILE) @&&!
1.1 maekawa 240: $(CFLAGS)
241: ! win\winmain.c
242:
243: wgnuplot.mnu: win\wgnuplot.mnu
244: copy win\wgnuplot.mnu wgnuplot.mnu
245:
246:
247: # different compiler options for DLL's */
248: !if $(WIN32)
249: DLLCC = $(BIN)$(CC) -DWIN32 -c -M -y -v -WE -I$(TC)\include -Iwin
250: !else
251: DLLCC = $(BIN)$(CC) -c -WD -ms! -w-par -f -M -y -v -w -N -I$(TC)\include -Iwin
252: !endif
253:
254: wgnuplot.lib: wgnuplot.dll
255: $(BIN)implib wgnuplot.lib wgnuplot.dll
256:
257: wgnuplot.dll: $(DLLOBJS) win/wgnuplib.def win/wgnuplib.rc
258: $(BIN)tlink /c /n /Twd /L$(TC)\lib /m /s /v /l @&&!
259: c0ds +
260: wgnuplib wtext wmenu wpause wgraph wprinter, +
261: wgnuplot.dll, +
262: wgnuplib.map, +
263: import mathws cws, +
264: win\wgnuplib.def
265: !
266: $(BIN)brc -30 -i$(TC)\include -t win\wgnuplib.rc wgnuplot.dll
267:
268: wgnuplib.obj: win/wgnuplib.c win/wgnuplib.h win/wcommon.h win/wresourc.h
269: $(DLLCC) win/wgnuplib.c
270:
271: wmenu.obj: win/wmenu.c win/wgnuplib.h win/wcommon.h win/wresourc.h
272: $(DLLCC) win/wmenu.c
273:
274: wtext.obj: win/wtext.c win/wgnuplib.h win/wcommon.h win/wresourc.h
275: $(DLLCC) win/wtext.c
276:
277: wpause.obj: win/wpause.c win/wgnuplib.h win/wcommon.h win/wresourc.h
278: $(DLLCC) win/wpause.c
279:
280: wprinter.obj: win/wprinter.c win/wgnuplib.h win/wcommon.h win/wresourc.h
281: $(DLLCC) win/wprinter.c
282:
283: wgraph.obj: win/wgraph.c win/wgnuplib.h win/wcommon.h win/wresourc.h
284: $(DLLCC) win/wgraph.c
285:
286: # convert gnuplot.doc to gnuplot.rtf
287: $(HELPFILE): win\gnuplot.rtf
1.1.1.2 ! maekawa 288: $(HC) win\wgnuplot.hpj
1.1 maekawa 289:
290: win\gnuplot.rtf: doc2rtf.exe docs\gnuplot.doc win\wgnuplot.hpj
291: doc2rtf docs\gnuplot.doc win\gnuplot.rtf
292:
293: doc2rtf.exe: docs\doc2rtf.c docs\termdoc.c docs\xref.c $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
1.1.1.2 ! maekawa 294: $(BIN)$(CC) -edoc2rtf.exe @&&!
1.1 maekawa 295: -D_Windows
296: -w-pro
297: $(CAUXFLAGS)
298: -I. -Iterm -Idocs
299: ! docs\doc2rtf.c docs\termdoc.c docs\xref.c
300:
301: # make binary demo files
302: demo\bf_test.exe: bf_test.c dbinary.obj dalloc.obj
1.1.1.2 ! maekawa 303: $(BIN)$(CC) -edemo\bf_test.exe @&&!
1.1 maekawa 304: $(CAUXFLAGS)
305: -L$(TC)\lib
306: ! bf_test.c dbinary.obj dalloc.obj
307: cd demo
308: bf_test
309: cd ..
310:
311: dalloc.obj: alloc.c
1.1.1.2 ! maekawa 312: $(BIN)$(CC) -c @&&!
1.1 maekawa 313: $(CAUXFLAGS)
314: ! -odalloc.obj alloc.c
315:
316: dbinary.obj: binary.c
1.1.1.2 ! maekawa 317: $(BIN)$(CC) -c @&&!
1.1 maekawa 318: $(CAUXFLAGS)
319: ! -odbinary.obj binary.c
320:
321: # clean up temporary files
322: clean:
323: del *.obj
1.1.1.2 ! maekawa 324: del win\*.obj
1.1 maekawa 325: del wgnuplot.map
326: del win\wgnuplot.res
327: del wgnupl32.map
328: del wgnupl32.res
329: del win\gnuplot.rtf
330: del doc2rtf.map
331: del doc2rtf.exe
332: del win\wgnuplib.res
333: del wgnuplib.map
334: del wgnuplot.lib
1.1.1.2 ! maekawa 335: del bf_test.map
! 336: del demo\bf_test.map
1.1 maekawa 337: del demo\bf_test.exe
338:
339: realclean: veryclean
340:
341: veryclean: clean
342: del wgnuplot.exe
343: del wgnuplot.hlp
1.1.1.2 ! maekawa 344: del win\wgnuplot.hlp
1.1 maekawa 345: -attrib -h wgnuplot.gid
346: del wgnuplot.gid
347: del wgnuplot.mnu
348: del wgnuplot.dll
349: del wgnupl32.exe
350: del demo\binary1
351: del demo\binary2
352: del demo\binary3
1.1.1.2 ! maekawa 353: del demo\fit.log
! 354: del demo\soundfit.par
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>