File: makefile.msc

package info (click to toggle)
gnuplot 3.5beta6.347-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 5,032 kB
  • ctags: 4,235
  • sloc: ansic: 42,086; makefile: 561; asm: 539; sh: 386; objc: 379; csh: 297; pascal: 194; perl: 138; lisp: 88
file content (170 lines) | stat: -rw-r--r-- 4,887 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#
# $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

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
	$(CC) docs\doc2gih.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