Annotation of OpenXM_contrib/gnuplot/makefile.dj2, Revision 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>