Annotation of OpenXM_contrib/gnuplot/makefile.dj2, Revision 1.1.1.1
1.1 maekawa 1: # make file for gnuplot 3.7 / DOS / DJGPP version 2
2: #
3: # compile it by make -f makefile.dj2 in the main gnuplot directory
4: #
5: #
6: # AUTHORS : several ... including Edzer Pebesma <pebesma@metoor.frw.uva.nl>
7: # last mod. by Emmanuel Bigler <bigler@lpmo.univ-fcomte.fr>
8: # DATE of last mod : 1996 FEB 20
9: #
10: #
11: # removed atari reference and added binary demo bf_test
12: # cleaned up the building of doc and binary test files
13: # gnuplot.gih will be built now inside the docs directory like under
14: # UNIX. The problem is that DOS does not recognize sub-shells like
15: # (cd dir ; do things) inside the makefile.
16: # solution -> assume everything is done inside gnuplot main dir, under
17: # a single DOS command process
18: #
19: # install target added : will copy the executable + helpfile in a given
20: # directory ; customize it, see FINALDEST
21: #
22: #
23: # here customize where you put gnuplot executable for make install
24: # for simplicity the helpfile will be copied in the same dir.
25: # convention used here : no trailing \ for directory names
26: FINALDEST=c:\bin
27:
28: # here customize the name of the executable
29: # exe file will be gp36.exe:
30: EXENAME = gp36
31:
32: # where to place gnuplot.gih helpfile upon MAKE
33: # note it will be built inside gnuplot\$(HELPDEST)
34: # and eventually copied to FINALDEST when install
35: HELPDEST =docs
36:
37: # name of the helpfile
38: HELPFILE =gnuplot.gih
39:
40: # compiler
41: CCDIR = c:\djgpp\bin\
42: CC = $(CCDIR)gcc
43: # include directory
44: INCLUDE = -I.
45:
46: # for svga term driver
47: # HBB: -finline-functions bombs out on term.c, so disable it unconditionally
48: TERMFLAGS = -DDJSVGA -fno-inline-functions
49: #
50: #
51: #just for historical purpose..
52: ## DJGPP 1.xx:
53: # CFLAGS = -DMSDOS -DDJGPP -DREADLINE -DHAVE_STRNICMP -O
54: # LINKOPT = -lm -lpc -lgrx
55:
56: ## DJGPP 2.0:
57: # HBB : added $(OPTS) so user can
58: # change CFLAGS easily, without having to change makefile
59: CFLAGS = -DMSDOS -DDOS32 \
60: -DANSI_C -DSTDC_HEADERS \
61: -DHAVE_VALUES_H -DHAVE_UNISTD_H -DRETSIGTYPE=void \
62: -DHAVE_ERF -DHAVE_LGAMMA -DHAVE_GAMMA \
63: -DHAVE_GETCWD -DHAVE_SETLINEBUF -DHAVE_SLEEP \
64: -DHAVE_STRNCASECMP -DHAVE_STRNICMP -DHAVE_STRERROR \
65: -DHAVE_SETVBUF \
66: -DHAVE_TEMPNAM -DPIPES -DREADLINE \
67: -O $(OPTS)
68:
69: LINKOPT = $(LDFLAGS) -lm -lpc -lgrx20
70:
71: # HBB: removed reference to no-more-existing term/bigfig.trm
72: CSOURCE5 = term/ai.trm term/amiga.trm term/aed.trm \
73: term/cgi.trm term/djsvga.trm term/dumb.trm \
74: term/dxf.trm term/dxy.trm \
75: term/debug.trm term/eepic.trm term/epson.trm term/fig.trm \
76: term/hp26.trm term/hp2648.trm term/hpgl.trm \
77: term/hpljii.trm term/metafont.trm\
78: term/apollo.trm term/gpr.trm term/hppj.trm term/compact.c
79: CSOURCE6 = term/impcodes.h term/imagen.trm term/next.trm term/object.h \
80: term/iris4d.trm term/kyo.trm term/latex.trm term/mif.trm \
81: term/pbm.trm term/pc.trm
82: CSOURCE7 = term/post.trm term/qms.trm term/regis.trm term/sun.trm \
83: term/t410x.trm term/tek.trm term/texdraw.trm term/unixpc.trm \
84: term/unixplot.trm term/v384.trm term/vws.trm term/x11.trm term/xlib.trm
85: OBJ1 = bitmap.o command.o contour.o eval.o graphics.o graph3d.o hidden3d.o util3d.o
86: OBJ2 = help.o internal.o misc.o parse.o plot.o plot2d.o plot3d.o readline.o
87: OBJ3 = scanner.o set.o show.o specfun.o standard.o stdfn.o term.o time.o util.o
88: OBJ4 = version.o binary.o interpol.o fit.o matrix.o datafile.o alloc.o
89:
90: CSOURCES = $(CSOURCE5) $(CSOURCE6) $(CSOURCE7)
91: OBJS = $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
92:
93: .c.o:
94: $(CC) -c $(CFLAGS) $(INCLUDE) $<
95:
96: %:: RCS/%
97: $(patsubst $@-noexist,$(CO) $(COFLAGS) $< $@, \
98: $(filter-out $@,$(firstword $(wildcard $@) $@-noexist)))
99:
100: all: $(EXENAME).exe $(HELPDEST)\$(HELPFILE) demo\binary?.
101:
102: # -s performs the coff2exe step implicitly (?)
103: # HBB: that's plain wrong: -s means 'strip executable',
104: # and stubify (formerly called stubify) is now always done
105: # automatically in the link step. I changed this so you
106: # get a debuggable gp36, but a stripped gp36.exe
107: $(EXENAME).exe : $(OBJS)
108: $(CC) -o $(EXENAME) $(OBJS) $(LINKOPT)
109: objcopy --strip-all $(EXENAME) $(EXENAME).exe
110: stubify $(EXENAME).exe
111: #HBB: I think that message is superfluous, and maybe even confusing
112: # for new users of DJGPP V2, who never used DJGPP V1 at all.
113: # @echo.
114: # @echo Rem: with djgpp v.2, you do not need go32 any longer to run gnuplot
115: # @echo.
116:
117: # This used to copy go32 to the exe file.. under v1.xx
118: # obsolete under djgpp v. 2.
119: #
120: #$(EXENAME).exe : $(OBJS)
121: # $(CC) -o $(EXENAME) $(OBJS) $(LINKOPT)
122: # strip $(EXENAME)
123: # copy /b $(CCDIR)\$(EXENAME).exe+$(EXENAME) $(EXENAME).exe
124: # del $(EXENAME)
125:
126: command.o: command.c plot.h setshow.h help.h
127: $(CC) -c $(CFLAGS) $(INCLUDE) -DHELPFILE=\"$(HELPFILE)\" command.c
128:
129: show.o: show.c plot.h setshow.h
130: $(CC) -c $(CFLAGS) $(INCLUDE) -DHELPFILE=\"$(HELPFILE)\" $<
131:
132: term.o: term.c term.h plot.h set.c show.c bitmap.h $(CSOURCES)
133: $(CC) -c $(CFLAGS) $(INCLUDE) $(TERMFLAGS) -Iterm term.c
134:
135: $(OBJS): plot.h
136:
137: command.o help.o misc.o: help.h
138:
139: command.o graphics.o graph3d.o hidden3d.o util3d.o misc.o plot.o set.o show.o term.o interpol.o: setshow.h
140:
141: command.o fit.o matrix.o: fit.h
142:
143: fit.o matrix.o: matrix.h
144:
145: bitmap.o term.o: bitmap.h
146:
147: #HBB 961201: add dependencies to trigger RCS checkout if necessary:
148: plot.h: protos.h
149: protos.h: alloc.h
150:
151: EMAIL=broeker@physik.rwth-aachen.de
152: version.o: version.c
153: $(CC) -c -DCONTACT=\"$(EMAIL)\" $(CFLAGS) $(INCLUDE) version.c
154:
155: # convert gnuplot.doc to gnuplot.gih
156: $(HELPDEST)\$(HELPFILE): .\docs\doc2gih.exe .\docs\gnuplot.doc
157: .\docs\doc2gih docs/gnuplot.doc > $(HELPDEST)\$(HELPFILE)
158:
159: .\docs\doc2gih.exe: .\docs\doc2gih.c .\docs\termdoc.c $(CSOURCES)
160: $(CC) $(CFLAGS) $(INCLUDE) $(TERMFLAGS) -Iterm -o ./docs/doc2gih ./docs/doc2gih.c ./docs/termdoc.c
161: coff2exe ./docs/doc2gih
162:
163: # now for the demo bin
164: demo\binary?.: bf_test.exe
165: bf_test
166: copy binary? demo\binary?
167: del binary?
168:
169: bf_test.o:
170: $(CC) $(CFLAGS) -c bf_test.c
171:
172: bf_test.exe: bf_test.o binary.o alloc.o
173: $(CC) $(CFLAGS) bf_test.o binary.o alloc.o -lm -o bf_test
174: coff2exe bf_test
175:
176: # now install things and create a .bat file to make things easier
177: install: all
178: copy $(EXENAME).exe $(FINALDEST)
179: copy $(HELPDEST)\$(HELPFILE) $(FINALDEST)
180: #HBB: if at all, this batch-file should only be generated by a
181: #separate target, like 'install-bat'. Besides, it doesn't work,
182: #as is, because DOS always executes foo.exe before even looking for
183: #a foo.bat
184: # del $(EXENAME).bat
185: # echo @echo off > $(EXENAME).bat
186: # echo SET GNUHELP= $(FINALDEST)\$(HELPFILE) >> $(EXENAME).bat
187: # echo SET GNUPLOT= $(FINALDEST) >> $(EXENAME).bat
188: # echo $(FINALDEST)\$(EXENAME).exe %1 %2 %3 %4 %5 %6 >> $(EXENAME).bat
189: # echo SET GNUHELP= >> $(EXENAME).bat
190: # echo SET GNUPLOT= >> $(EXENAME).bat
191: # copy $(EXENAME).bat $(FINALDEST)
192:
193:
194: # clean target - remove all temp files, but leave executable intact
195: clean:
196: del *.o
197: del $(EXENAME)
198: del .\docs\doc2gih
199: del .\docs\doc2gih.exe
200: del bf_test
201: del bf_test.exe
202:
203: # realclean target - remove all files created by the makefile
204: realclean: clean
205: del $(EXENAME).exe
206: del $(HELPDEST)\$(HELPFILE)
207: del .\demo\binary1
208: del .\demo\binary2
209: del .\demo\binary3
210: del .\demo\fit.log
211: del .\demo\soundfit.par
212: #####
213: ## END OF GNUPLOT 3.7 MAKEFILE FOR DJGPP V2
214: #####
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>