1*1212SpeterSCCSID = "@(#)pimakefile 1.10 10/06/80"
2800Speter
3800SpeterMKSTR = /usr/ucb/mkstr
4800SpeterEYACC = /usr/ucb/eyacc
5808SpeterRM = -rm -f
6*1212SpeterGET = sccs get
7800Speter
8800SpeterCFLAGS = -O -w
9800SpeterLDFLAGS = -z
10800Speter
11*1212SpeterINSTALLDIR = /usr/lib
12800SpeterLIBDIR = /usr/lib
13800SpeterTMPDIR = tmp
14800Speter
15*1212SpeterERRORSTRINGS = pc2.0strings
16800Speter
17800SpeterSRCS =	ato.c \
18800Speter	call.c case.c clas.c const.c conv.c cset.c \
191201Speter	error.c fdec.c flvalue.c func.c gen.c hash.c \
20800Speter	lab.c lookup.c lval.c stklval.c \
21800Speter	main.c nl.c proc.c put.c \
22800Speter	rec.c rval.c stkrval.c\
23800Speter	stat.c string.c subr.c \
24800Speter	tree.c type.c var.c \
25800Speter	TRdata.c \
26800Speter	treen.c putn.c yycopy.c \
27800Speter	yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c yyoptions.c \
28*1212Speter	yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c yyseman.c yytree.c \
29*1212Speter	p2put.c pcforop.c stab.c pcproc.c pcfunc.c pccaseop.c pclval.c
30800Speter
31*1212SpeterHDRS =	0.h OPnames.h align.h iorec.h objfmt.h pstab.h pc.h pcops.h \
32*1212Speter	send.h tree.h whoami.h yy.h
33800Speter
34800SpeterOTHERS = pas.y opc.c version.c gram pic.c
35800Speter
36800SpeterOBJS =	ato.o \
37800Speter	call.o case.o clas.o const.o conv.o cset.o \
381201Speter	error.o fdec.o flvalue.o func.o gen.o hash.o \
39800Speter	lab.o lookup.o lval.o stklval.o \
40800Speter	main.o nl.o proc.o put.o \
41800Speter	rec.o rval.o stkrval.o\
42800Speter	stat.o string.o subr.o \
43800Speter	tree.o type.o var.o \
44800Speter	TRdata.o \
45800Speter	treen.o putn.o yycopy.o \
46800Speter	y.tab.o \
47800Speter	yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o yyoptions.o \
48*1212Speter	yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o yyseman.o yytree.o \
49*1212Speter	p2put.o pcforop.o stab.o pcproc.o pcfunc.o pccaseop.o pclval.o
50800Speter
51800Spetera.out: ${OBJS} version
52800Speter	./version > Version.c
53800Speter	${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} Version.c
54800Speter
55*1212Spetersources: ${SRCS} ${HDRS} ${OTHERS}
56800Speter
57800Speter${SRCS} ${HDRS} ${OTHERS}:
58800Speter	${GET} ${REL} $@
59800Speter
60800Speter.c.o:
61808Speter	${RM} ${TMPDIR}/$*.c
62800Speter	${MKSTR} - ${ERRORSTRINGS} ${TMPDIR}/ $*.c
63800Speter	cd ${TMPDIR} ; ${CC} ${CFLAGS} -I.. -c $*.c ; mv $*.o  ../$*.o
64808Speter	${RM} ${TMPDIR}/$*.c
65800Speter
66800Spetery.tab.h: pas.y gram
67808Speter	${EYACC} pas.y > /dev/null
68800Speter	ex - y.tab.c <gram
69800Speter	@echo that makes y.tab.h and y.tab.c
70800Speter
71803Speteropcode.h: OPnames.h opc.c
72800Speter	cc opc.c -o opc
73800Speter	opc >opcode.h
74808Speter	${RM} opc
75800Speter
76801SpeterpTree.h:
77801Speter	echo "/* this is not pTree.h */" > pTree.h
78801Speter
79800Speterversion: version.c
80800Speter	${CC} version.c -o version
81800Speter
82800Speterclean:
83800Speter	${RM} *.o ${TMPDIR}/*.c
84*1212Speter	${RM} y.tab.h y.tab.c y.tab.out
85800Speter	${RM} ${ERRORSTRINGS}
86800Speter	${RM} version Version.c
87800Speter	${RM} a.out core *.list *.bak
88808Speter	${RM} opc.c opc pic tags
89800Speter	sccs clean
90800Speter
91800Speterprint:	sources
92800Speter	@pr makefile READ_ME
93800Speter	@ls -ls | pr
94800Speter	@cc -o pic pic.c
95800Speter	@pic | pr
96800Speter	@rm pic
97800Speter	@pr 0.h whoami.h main.c pas.y
98800Speter	@pr OPnames.h opcode.h tree.h
99*1212Speter	@pr pc.h
100800Speter	@pr [a-ln-x]*.c
101800Speter	@pr yy.h yy*.c
102800Speter
103800Speterinstall: a.out
104824Speter	sccs check
105800Speter	cp ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS}
106*1212Speter	cp ${INSTALLDIR}/pc0 ${INSTALLDIR}/pc0.bak
107*1212Speter	cp a.out ${INSTALLDIR}/pc0
108800Speter
109800Speterdepend:	sources
110800Speter	/bin/grep '^#[ 	]*include' *.h \
111800Speter		| sed '/<.*>/d' \
112801Speter		| sed 's/\(.*\):[^"]*"\([^"]*\)".*/\1: \2/' >makedep
113800Speter	/bin/grep '^#[ 	]*include' *.c \
114800Speter		| sed '/<.*>/d' \
115800Speter		| sed 's/:[^"]*"\([^"]*\)".*/: \1/' \
116800Speter		| sed 's/\.c/.o/' >>makedep
117800Speter	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
118800Speter	echo '$$r makedep' >>eddep
119800Speter	echo 'w' >>eddep
120800Speter	cp makefile makefile.bak
121800Speter	ed - makefile < eddep
122800Speter	rm eddep makedep
123800Speter	echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile
124800Speter	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile
125800Speter	echo '# see make depend above' >> makefile
126800Speter
127800Speter# DO NOT DELETE THIS LINE -- make depend uses it
128800Speter
129801Speter0.h: pTree.h
130801Speteryy.h: y.tab.h
131800SpeterTRdata.o: whoami.h
132800SpeterTRdata.o: 0.h
133800Speterato.o: whoami.h
134800Speterato.o: 0.h
135800Spetercall.o: whoami.h
136800Spetercall.o: 0.h
137800Spetercall.o: tree.h
138800Spetercall.o: opcode.h
139800Spetercall.o: objfmt.h
140800Spetercall.o: pc.h
141800Spetercall.o: pcops.h
142800Spetercase.o: whoami.h
143800Spetercase.o: 0.h
144800Spetercase.o: tree.h
145800Spetercase.o: opcode.h
146800Speterclas.o: whoami.h
147800Speterclas.o: 0.h
148800Speterclas.o: tree.h
149800Speterconst.o: whoami.h
150800Speterconst.o: 0.h
151800Speterconst.o: tree.h
152800Speterconv.o: whoami.h
153800Speterconv.o: 0.h
154800Speterconv.o: opcode.h
155800Speterconv.o: pcops.h
156800Spetercset.o: whoami.h
157800Spetercset.o: 0.h
158800Spetercset.o: tree.h
159800Spetercset.o: opcode.h
160801Spetercset.o: objfmt.h
161801Spetercset.o: pc.h
162801Spetercset.o: pcops.h
163800Spetererror.o: whoami.h
164800Spetererror.o: 0.h
165800Spetererror.o: yy.h
166800Speterfdec.o: whoami.h
167800Speterfdec.o: 0.h
168800Speterfdec.o: tree.h
169800Speterfdec.o: opcode.h
170800Speterfdec.o: objfmt.h
171801Speterfdec.o: align.h
172800Speterfdec.o: pc.h
173800Speterfdec.o: pcops.h
1741201Speterflvalue.o: whoami.h
1751201Speterflvalue.o: 0.h
1761201Speterflvalue.o: tree.h
1771201Speterflvalue.o: opcode.h
1781201Speterflvalue.o: objfmt.h
1791201Speterflvalue.o: pc.h
1801201Speterflvalue.o: pcops.h
181800Speterfunc.o: whoami.h
182800Speterfunc.o: 0.h
183800Speterfunc.o: tree.h
184800Speterfunc.o: opcode.h
185800Spetergen.o: whoami.h
186800Spetergen.o: 0.h
187800Spetergen.o: tree.h
188800Spetergen.o: opcode.h
189800Spetergen.o: objfmt.h
190800Speterhash.o: whoami.h
191800Speterhash.o: 0.h
192800Speterhash.o: yy.h
193800Speterlab.o: whoami.h
194800Speterlab.o: 0.h
195800Speterlab.o: tree.h
196800Speterlab.o: opcode.h
197800Speterlab.o: objfmt.h
198800Speterlab.o: pc.h
199800Speterlab.o: pcops.h
200800Speterlookup.o: whoami.h
201800Speterlookup.o: 0.h
202800Speterlval.o: whoami.h
203800Speterlval.o: 0.h
204800Speterlval.o: tree.h
205800Speterlval.o: opcode.h
206800Speterlval.o: objfmt.h
207800Speterlval.o: pc.h
208800Speterlval.o: pcops.h
209800Spetermain.o: whoami.h
210800Spetermain.o: 0.h
211800Spetermain.o: yy.h
212800Spetermain.o: objfmt.h
213800Speternl.o: whoami.h
214800Speternl.o: 0.h
215800Speternl.o: opcode.h
216800Speternl.o: objfmt.h
217800Speteropc.o: OPnames.h
218*1212Speterp2put.o: whoami.h
219*1212Speterp2put.o: 0.h
220*1212Speterp2put.o: pcops.h
221*1212Speterp2put.o: pc.h
222*1212Speterpccaseop.o: whoami.h
223*1212Speterpccaseop.o: 0.h
224*1212Speterpccaseop.o: tree.h
225*1212Speterpccaseop.o: objfmt.h
226*1212Speterpccaseop.o: pcops.h
227*1212Speterpccaseop.o: pc.h
228*1212Speterpcforop.o: whoami.h
229*1212Speterpcforop.o: 0.h
230*1212Speterpcforop.o: opcode.h
231*1212Speterpcforop.o: tree.h
232*1212Speterpcforop.o: pc.h
233*1212Speterpcforop.o: pcops.h
234*1212Speterpcfunc.o: whoami.h
235*1212Speterpcfunc.o: 0.h
236*1212Speterpcfunc.o: tree.h
237*1212Speterpcfunc.o: opcode.h
238*1212Speterpcfunc.o: pc.h
239*1212Speterpcfunc.o: pcops.h
240*1212Speterpclval.o: whoami.h
241*1212Speterpclval.o: 0.h
242*1212Speterpclval.o: tree.h
243*1212Speterpclval.o: opcode.h
244*1212Speterpclval.o: objfmt.h
245*1212Speterpclval.o: pc.h
246*1212Speterpclval.o: pcops.h
247*1212Speterpcproc.o: whoami.h
248*1212Speterpcproc.o: 0.h
249*1212Speterpcproc.o: tree.h
250*1212Speterpcproc.o: opcode.h
251*1212Speterpcproc.o: pc.h
252*1212Speterpcproc.o: pcops.h
253800Speterpic.o: OPnames.h
254800Speterproc.o: whoami.h
255800Speterproc.o: 0.h
256800Speterproc.o: tree.h
257800Speterproc.o: opcode.h
258800Speterproc.o: objfmt.h
259800Speterput.o: whoami.h
260800Speterput.o: opcode.h
261800Speterput.o: 0.h
262800Speterput.o: objfmt.h
263800Speterput.o: pc.h
264800Speterput.o: OPnames.h
265800Speterrec.o: whoami.h
266800Speterrec.o: 0.h
267800Speterrec.o: tree.h
268800Speterrec.o: opcode.h
269800Speterrval.o: whoami.h
270800Speterrval.o: 0.h
271800Speterrval.o: tree.h
272800Speterrval.o: opcode.h
273800Speterrval.o: objfmt.h
274800Speterrval.o: pc.h
275800Speterrval.o: pcops.h
276*1212Speterstab.o: whoami.h
277*1212Speterstab.o: 0.h
278*1212Speterstab.o: pstab.h
279*1212Speterstab.o: pc.h
280800Speterstat.o: whoami.h
281800Speterstat.o: 0.h
282800Speterstat.o: tree.h
283800Speterstat.o: objfmt.h
284800Speterstat.o: pcops.h
285800Speterstat.o: pc.h
286800Speterstat.o: opcode.h
287800Speterstklval.o: whoami.h
288800Speterstklval.o: 0.h
289800Speterstklval.o: tree.h
290800Speterstklval.o: opcode.h
291800Speterstklval.o: objfmt.h
292800Speterstkrval.o: whoami.h
293800Speterstkrval.o: 0.h
294800Speterstkrval.o: tree.h
295800Speterstkrval.o: opcode.h
296800Speterstkrval.o: objfmt.h
297800Speterstkrval.o: pcops.h
298800Speterstring.o: whoami.h
299800Speterstring.o: 0.h
300800Speterstring.o: send.h
301800Spetersubr.o: whoami.h
302800Spetersubr.o: 0.h
303800Spetertree.o: whoami.h
304800Spetertree.o: 0.h
305800Spetertype.o: whoami.h
306800Spetertype.o: 0.h
307800Spetertype.o: tree.h
308800Spetertype.o: objfmt.h
309800Spetervar.o: whoami.h
310800Spetervar.o: 0.h
311801Spetervar.o: align.h
312800Spetervar.o: pc.h
313800Spetervar.o: pcops.h
314800Spetervar.o: iorec.h
315801Spetery.tab.o: whoami.h
316801Spetery.tab.o: 0.h
317801Spetery.tab.o: yy.h
318801Spetery.tab.o: tree.h
319800Speteryycopy.o: 0.h
320800Speteryycopy.o: yy.h
321800Speteryycosts.o: whoami.h
322800Speteryycosts.o: 0.h
323800Speteryycosts.o: yy.h
324800Speteryyerror.o: whoami.h
325800Speteryyerror.o: 0.h
326800Speteryyerror.o: yy.h
327800Speteryyget.o: whoami.h
328800Speteryyget.o: 0.h
329800Speteryyget.o: yy.h
330800Speteryyid.o: whoami.h
331800Speteryyid.o: 0.h
332800Speteryyid.o: yy.h
333800Speteryylex.o: whoami.h
334800Speteryylex.o: 0.h
335800Speteryylex.o: yy.h
336800Speteryymain.o: whoami.h
337800Speteryymain.o: 0.h
338800Speteryymain.o: yy.h
339800Speteryymain.o: objfmt.h
340800Speteryyoptions.o: whoami.h
341800Speteryyoptions.o: 0.h
342800Speteryyoptions.o: yy.h
343800Speteryypanic.o: whoami.h
344800Speteryypanic.o: 0.h
345800Speteryypanic.o: yy.h
346800Speteryyparse.o: whoami.h
347800Speteryyparse.o: 0.h
348800Speteryyparse.o: yy.h
349800Speteryyprint.o: whoami.h
350800Speteryyprint.o: 0.h
351800Speteryyprint.o: yy.h
352800Speteryyput.o: whoami.h
353800Speteryyput.o: 0.h
354800Speteryyput.o: tree.h
355800Speteryyput.o: yy.h
356800Speteryyrecover.o: whoami.h
357800Speteryyrecover.o: 0.h
358800Speteryyrecover.o: yy.h
359800Speteryyseman.o: whoami.h
360800Speteryyseman.o: 0.h
361800Speteryyseman.o: yy.h
362800Speteryytree.o: whoami.h
363800Speteryytree.o: 0.h
364800Speteryytree.o: tree.h
365800Speter# DEPENDENCIES MUST END AT END OF FILE
366800Speter# IF YOU PUT STUFF HERE IT WILL GO AWAY
367800Speter# see make depend above
368