#
# $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