# # $Id: makefile.msc,v 1.17 1998/04/14 00:15:52 drd Exp $ # # Make file for use with Microsoft C Version 5.10 # and Microsoft Program Maintenance Utility Version 4.07 # # where to place gnuplot.gih helpfile HELPFILE = gnuplot.gih # /c means don't link # /AL means large memory model (large code, large data) # /DPC means define symbol PC # /DLITE means no hiddenline removal # /Gt means no 64k segment problem # /Gt16 means all data items larger than 16 byte allocated outside # default DATA segment thus providing more Stack space # /G2 means 80286 code # /Og /Gs global optimization, no stack probes # /FPi87 use inline 80x87 code (requires 486 or x87 Copro) # CFLAGS = /c /AL /DPC #/DMSDOS #/Zi #/Od # CFLAGS = /c /AL /G2 /Gt16 /Zi /Od /DPC /DREADLINE CFLAGS = /c /AL /EM /G2 /Gt16 /Gs /Og /FPi87 /DPC /DREADLINE /DLITE /D__MSC__ /DHAVE_STRNICMP /nologo # CFLAGS = /c /AL /Gt16 /Gs /Og /DPC /DREADLINE # CFLAGS = /c /AL /EM /DPC /DREADLINE /DLITE /Gt /D__MSC__ #/Zi #/Od # see other terminal defines in term.h TERMFLAGS = # /NOE means NO EXTernal Dictionary # /EX means pack EXE file # /ST:10000 means stack size 10000 bytes LINKFLAGS = /NOE /EX /ST:30000 /ONERROR:NOEXE #/codeview OBJS = bitmap.obj command.obj contour.obj eval.obj graphics.obj graph3d.obj \ help.obj internal.obj misc.obj parse.obj plot.obj plot2d.obj \ plot3d.obj readline.obj scanner.obj set.obj show.obj standard.obj \ stdfn.obj term.obj util.obj version.obj pcgraph.obj hrcgraph.obj \ corgraph.obj specfun.obj binary.obj interpol.obj fit.obj matrix.obj \ datafile.obj alloc.obj CSOURCE5 = term\aed.trm term\cgi.trm term/dumb.trm term/dxf.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\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 binary.c CC = clx # default rules .c.obj: $(CC) $(CFLAGS) $*.c .asm.obj: masm $*; default: gnuplot.exe $(HELPFILE) demo\bf_test.exe # FYI gnuplot.opt contains a list of the corefiles... # (eg COPY gnuplot.opt linkopt.msc gets most of these) linkopt.msc: makefile.msc echo hrcgraph+corgraph+graph3d+(contour)+ >linkopt.msc echo pcgraph+term+graphics+bitmap+ >>linkopt.msc echo (set)+(show)+(help)+(specfun)+(binary)+ >>linkopt.msc echo plot+plot2d+plot3d+command+internal+interpol+misc+readline+ >>linkopt.msc echo parse+eval+scanner+standard+stdfn+util+ >>linkopt.msc echo (version)+(fit+matrix)+datafile+alloc >>linkopt.msc echo gnuplot >>linkopt.msc echo nul; >>linkopt.msc pcgraph.obj: pcgraph.asm header.mac lineproc.mac corgraph.obj: corgraph.asm header.mac lineproc.mac hrcgraph.obj: hrcgraph.asm header.mac lineproc.mac binary.obj: binary.c bitmap.obj: bitmap.c bitmap.h plot.h command.obj: command.c plot.h setshow.h help.h $(CC) $(CFLAGS) /DHELPFILE=\"$(HELPFILE)\" command.c contour.obj: contour.c plot.h eval.obj: eval.c plot.h gnubin.obj: gnubin.c 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 help.obj: help.c plot.h help.h internal.obj: internal.c plot.h misc.obj: misc.c plot.h setshow.h parse.obj: parse.c plot.h plot.obj: plot.c plot.h setshow.h 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 $(CC) $(CFLAGS) /DHELPFILE=\"$(HELPFILE)\" show.c standard.obj: standard.c plot.h stdfn.obj: stdfn.c stdfn.h specfun.obj: specfun.c plot.h interpol.obj: interpol.c plot.h setshow.h term.obj: term.c term.h plot.h setshow.h bitmap.h $(CSOURCE5) $(CSOURCE6) $(CSOURCE7) $(CC) $(CFLAGS) $(TERMFLAGS) /Iterm term.c util.obj: util.c plot.h version.obj: version.c # convert gnuplot.doc to gnuplot.gih doc2gih.exe: docs\doc2gih.c docs\termdoc.c $(CC) /Fedoc2gih.exe docs\doc2gih.c docs\termdoc.c $(HELPFILE): doc2gih.exe docs\gnuplot.doc doc2gih docs\gnuplot.doc $(HELPFILE) # Object files in link command line are ordered to avoid far jumps. # use linkopt.msc to avoid command-line overflow gnuplot.exe: $(OBJS) linkopt.msc link $(LINKFLAGS) @linkopt.msc #make binary demo files demo\bf_test.exe: bf_test.c dbinary.obj alloc.obj $(CC) /AL /DPC /D__MSC__ /F 5000 /Gt /W1 /Fedemo\bf_test.exe bf_test.c dbinary.obj alloc.obj cd demo bf_test cd .. dbinary.obj: binary.c $(CC) /c /AL /DPC /D__MSC__ /F 5000 /Gt /W1 /Fodbinary.obj binary.c # clean up temporary files clean: del *.obj del gnuplot.map del demo\bf_test.exe del linkopt.msc veryclean: clean del gnuplot.exe del $(HELPFILE) del demo\binary1 del demo\binary2 del demo\binary3