1*1557SpeterSCCSID = "@(#)pimakefile 1.11 10/19/80"
2*1557SpeterWHOAMI = pi
3*1557SpeterINSTALLNAME = pi
4*1557SpeterVERSION = 2.0
5800Speter
6800SpeterMKSTR = /usr/ucb/mkstr
7800SpeterEYACC = /usr/ucb/eyacc
8808SpeterRM = -rm -f
91212SpeterGET = sccs get
10800Speter
11800SpeterCFLAGS = -O -w
12800SpeterLDFLAGS = -z
13800Speter
141212SpeterINSTALLDIR = /usr/lib
15800SpeterLIBDIR = /usr/lib
16800SpeterTMPDIR = tmp
17800Speter
18*1557SpeterERRORSTRINGS = ${WHOAMI}${VERSION}strings
19800Speter
20800SpeterSRCS =	ato.c \
21800Speter	call.c case.c clas.c const.c conv.c cset.c \
221201Speter	error.c fdec.c flvalue.c func.c gen.c hash.c \
23800Speter	lab.c lookup.c lval.c stklval.c \
24800Speter	main.c nl.c proc.c put.c \
25800Speter	rec.c rval.c stkrval.c\
26800Speter	stat.c string.c subr.c \
27800Speter	tree.c type.c var.c \
28800Speter	TRdata.c \
29800Speter	treen.c putn.c yycopy.c \
30800Speter	yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c yyoptions.c \
311212Speter	yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c yyseman.c yytree.c \
321212Speter	p2put.c pcforop.c stab.c pcproc.c pcfunc.c pccaseop.c pclval.c
33800Speter
341212SpeterHDRS =	0.h OPnames.h align.h iorec.h objfmt.h pstab.h pc.h pcops.h \
351212Speter	send.h tree.h whoami.h yy.h
36800Speter
37800SpeterOTHERS = pas.y opc.c version.c gram pic.c
38800Speter
39800SpeterOBJS =	ato.o \
40800Speter	call.o case.o clas.o const.o conv.o cset.o \
411201Speter	error.o fdec.o flvalue.o func.o gen.o hash.o \
42800Speter	lab.o lookup.o lval.o stklval.o \
43800Speter	main.o nl.o proc.o put.o \
44800Speter	rec.o rval.o stkrval.o\
45800Speter	stat.o string.o subr.o \
46800Speter	tree.o type.o var.o \
47800Speter	TRdata.o \
48800Speter	treen.o putn.o yycopy.o \
49800Speter	y.tab.o \
50800Speter	yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o yyoptions.o \
511212Speter	yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o yyseman.o yytree.o \
521212Speter	p2put.o pcforop.o stab.o pcproc.o pcfunc.o pccaseop.o pclval.o
53800Speter
54800Spetera.out: ${OBJS} version
55800Speter	./version > Version.c
56800Speter	${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} Version.c
57800Speter
581212Spetersources: ${SRCS} ${HDRS} ${OTHERS}
59800Speter
60800Speter${SRCS} ${HDRS} ${OTHERS}:
61800Speter	${GET} ${REL} $@
62800Speter
63800Speter.c.o:
64808Speter	${RM} ${TMPDIR}/$*.c
65800Speter	${MKSTR} - ${ERRORSTRINGS} ${TMPDIR}/ $*.c
66800Speter	cd ${TMPDIR} ; ${CC} ${CFLAGS} -I.. -c $*.c ; mv $*.o  ../$*.o
67808Speter	${RM} ${TMPDIR}/$*.c
68800Speter
69800Spetery.tab.h: pas.y gram
70808Speter	${EYACC} pas.y > /dev/null
71800Speter	ex - y.tab.c <gram
72800Speter	@echo that makes y.tab.h and y.tab.c
73800Speter
74803Speteropcode.h: OPnames.h opc.c
75800Speter	cc opc.c -o opc
76800Speter	opc >opcode.h
77808Speter	${RM} opc
78800Speter
79801SpeterpTree.h:
80801Speter	echo "/* this is not pTree.h */" > pTree.h
81801Speter
82800Speterversion: version.c
83800Speter	${CC} version.c -o version
84800Speter
85800Speterclean:
86800Speter	${RM} *.o ${TMPDIR}/*.c
871212Speter	${RM} y.tab.h y.tab.c y.tab.out
88800Speter	${RM} ${ERRORSTRINGS}
89800Speter	${RM} version Version.c
90800Speter	${RM} a.out core *.list *.bak
91808Speter	${RM} opc.c opc pic tags
92800Speter	sccs clean
93800Speter
94800Speterprint:	sources
95800Speter	@pr makefile READ_ME
96800Speter	@ls -ls | pr
97800Speter	@cc -o pic pic.c
98800Speter	@pic | pr
99800Speter	@rm pic
100800Speter	@pr 0.h whoami.h main.c pas.y
101800Speter	@pr OPnames.h opcode.h tree.h
1021212Speter	@pr pc.h
103800Speter	@pr [a-ln-x]*.c
104800Speter	@pr yy.h yy*.c
105800Speter
106800Speterinstall: a.out
107824Speter	sccs check
108800Speter	cp ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS}
109*1557Speter	cp ${INSTALLDIR}/${INSTALLNAME} ${INSTALLDIR}/${INSTALLNAME}.bak
110*1557Speter	cp a.out ${INSTALLDIR}/${INSTALLNAME}
111800Speter
112800Speterdepend:	sources
113800Speter	/bin/grep '^#[ 	]*include' *.h \
114800Speter		| sed '/<.*>/d' \
115801Speter		| sed 's/\(.*\):[^"]*"\([^"]*\)".*/\1: \2/' >makedep
116800Speter	/bin/grep '^#[ 	]*include' *.c \
117800Speter		| sed '/<.*>/d' \
118800Speter		| sed 's/:[^"]*"\([^"]*\)".*/: \1/' \
119800Speter		| sed 's/\.c/.o/' >>makedep
120800Speter	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
121800Speter	echo '$$r makedep' >>eddep
122800Speter	echo 'w' >>eddep
123800Speter	cp makefile makefile.bak
124800Speter	ed - makefile < eddep
125800Speter	rm eddep makedep
126800Speter	echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile
127800Speter	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile
128800Speter	echo '# see make depend above' >> makefile
129800Speter
130800Speter# DO NOT DELETE THIS LINE -- make depend uses it
131800Speter
132801Speter0.h: pTree.h
133801Speteryy.h: y.tab.h
134800SpeterTRdata.o: whoami.h
135800SpeterTRdata.o: 0.h
136800Speterato.o: whoami.h
137800Speterato.o: 0.h
138800Spetercall.o: whoami.h
139800Spetercall.o: 0.h
140800Spetercall.o: tree.h
141800Spetercall.o: opcode.h
142800Spetercall.o: objfmt.h
143800Spetercall.o: pc.h
144800Spetercall.o: pcops.h
145800Spetercase.o: whoami.h
146800Spetercase.o: 0.h
147800Spetercase.o: tree.h
148800Spetercase.o: opcode.h
149800Speterclas.o: whoami.h
150800Speterclas.o: 0.h
151800Speterclas.o: tree.h
152800Speterconst.o: whoami.h
153800Speterconst.o: 0.h
154800Speterconst.o: tree.h
155800Speterconv.o: whoami.h
156800Speterconv.o: 0.h
157800Speterconv.o: opcode.h
158800Speterconv.o: pcops.h
159800Spetercset.o: whoami.h
160800Spetercset.o: 0.h
161800Spetercset.o: tree.h
162800Spetercset.o: opcode.h
163801Spetercset.o: objfmt.h
164801Spetercset.o: pc.h
165801Spetercset.o: pcops.h
166800Spetererror.o: whoami.h
167800Spetererror.o: 0.h
168800Spetererror.o: yy.h
169800Speterfdec.o: whoami.h
170800Speterfdec.o: 0.h
171800Speterfdec.o: tree.h
172800Speterfdec.o: opcode.h
173800Speterfdec.o: objfmt.h
174801Speterfdec.o: align.h
175800Speterfdec.o: pc.h
176800Speterfdec.o: pcops.h
1771201Speterflvalue.o: whoami.h
1781201Speterflvalue.o: 0.h
1791201Speterflvalue.o: tree.h
1801201Speterflvalue.o: opcode.h
1811201Speterflvalue.o: objfmt.h
1821201Speterflvalue.o: pc.h
1831201Speterflvalue.o: pcops.h
184800Speterfunc.o: whoami.h
185800Speterfunc.o: 0.h
186800Speterfunc.o: tree.h
187800Speterfunc.o: opcode.h
188800Spetergen.o: whoami.h
189800Spetergen.o: 0.h
190800Spetergen.o: tree.h
191800Spetergen.o: opcode.h
192800Spetergen.o: objfmt.h
193800Speterhash.o: whoami.h
194800Speterhash.o: 0.h
195800Speterhash.o: yy.h
196800Speterlab.o: whoami.h
197800Speterlab.o: 0.h
198800Speterlab.o: tree.h
199800Speterlab.o: opcode.h
200800Speterlab.o: objfmt.h
201800Speterlab.o: pc.h
202800Speterlab.o: pcops.h
203800Speterlookup.o: whoami.h
204800Speterlookup.o: 0.h
205800Speterlval.o: whoami.h
206800Speterlval.o: 0.h
207800Speterlval.o: tree.h
208800Speterlval.o: opcode.h
209800Speterlval.o: objfmt.h
210800Speterlval.o: pc.h
211800Speterlval.o: pcops.h
212800Spetermain.o: whoami.h
213800Spetermain.o: 0.h
214800Spetermain.o: yy.h
215800Spetermain.o: objfmt.h
216800Speternl.o: whoami.h
217800Speternl.o: 0.h
218800Speternl.o: opcode.h
219800Speternl.o: objfmt.h
220800Speteropc.o: OPnames.h
2211212Speterp2put.o: whoami.h
2221212Speterp2put.o: 0.h
2231212Speterp2put.o: pcops.h
2241212Speterp2put.o: pc.h
2251212Speterpccaseop.o: whoami.h
2261212Speterpccaseop.o: 0.h
2271212Speterpccaseop.o: tree.h
2281212Speterpccaseop.o: objfmt.h
2291212Speterpccaseop.o: pcops.h
2301212Speterpccaseop.o: pc.h
2311212Speterpcforop.o: whoami.h
2321212Speterpcforop.o: 0.h
2331212Speterpcforop.o: opcode.h
2341212Speterpcforop.o: tree.h
2351212Speterpcforop.o: pc.h
2361212Speterpcforop.o: pcops.h
2371212Speterpcfunc.o: whoami.h
2381212Speterpcfunc.o: 0.h
2391212Speterpcfunc.o: tree.h
2401212Speterpcfunc.o: opcode.h
2411212Speterpcfunc.o: pc.h
2421212Speterpcfunc.o: pcops.h
2431212Speterpclval.o: whoami.h
2441212Speterpclval.o: 0.h
2451212Speterpclval.o: tree.h
2461212Speterpclval.o: opcode.h
2471212Speterpclval.o: objfmt.h
2481212Speterpclval.o: pc.h
2491212Speterpclval.o: pcops.h
2501212Speterpcproc.o: whoami.h
2511212Speterpcproc.o: 0.h
2521212Speterpcproc.o: tree.h
2531212Speterpcproc.o: opcode.h
2541212Speterpcproc.o: pc.h
2551212Speterpcproc.o: pcops.h
256800Speterpic.o: OPnames.h
257800Speterproc.o: whoami.h
258800Speterproc.o: 0.h
259800Speterproc.o: tree.h
260800Speterproc.o: opcode.h
261800Speterproc.o: objfmt.h
262800Speterput.o: whoami.h
263800Speterput.o: opcode.h
264800Speterput.o: 0.h
265800Speterput.o: objfmt.h
266800Speterput.o: pc.h
267800Speterput.o: OPnames.h
268800Speterrec.o: whoami.h
269800Speterrec.o: 0.h
270800Speterrec.o: tree.h
271800Speterrec.o: opcode.h
272800Speterrval.o: whoami.h
273800Speterrval.o: 0.h
274800Speterrval.o: tree.h
275800Speterrval.o: opcode.h
276800Speterrval.o: objfmt.h
277800Speterrval.o: pc.h
278800Speterrval.o: pcops.h
2791212Speterstab.o: whoami.h
2801212Speterstab.o: 0.h
2811212Speterstab.o: pstab.h
2821212Speterstab.o: pc.h
283800Speterstat.o: whoami.h
284800Speterstat.o: 0.h
285800Speterstat.o: tree.h
286800Speterstat.o: objfmt.h
287800Speterstat.o: pcops.h
288800Speterstat.o: pc.h
289800Speterstat.o: opcode.h
290800Speterstklval.o: whoami.h
291800Speterstklval.o: 0.h
292800Speterstklval.o: tree.h
293800Speterstklval.o: opcode.h
294800Speterstklval.o: objfmt.h
295800Speterstkrval.o: whoami.h
296800Speterstkrval.o: 0.h
297800Speterstkrval.o: tree.h
298800Speterstkrval.o: opcode.h
299800Speterstkrval.o: objfmt.h
300800Speterstkrval.o: pcops.h
301800Speterstring.o: whoami.h
302800Speterstring.o: 0.h
303800Speterstring.o: send.h
304800Spetersubr.o: whoami.h
305800Spetersubr.o: 0.h
306800Spetertree.o: whoami.h
307800Spetertree.o: 0.h
308800Spetertype.o: whoami.h
309800Spetertype.o: 0.h
310800Spetertype.o: tree.h
311800Spetertype.o: objfmt.h
312800Spetervar.o: whoami.h
313800Spetervar.o: 0.h
314801Spetervar.o: align.h
315800Spetervar.o: pc.h
316800Spetervar.o: pcops.h
317800Spetervar.o: iorec.h
318801Spetery.tab.o: whoami.h
319801Spetery.tab.o: 0.h
320801Spetery.tab.o: yy.h
321801Spetery.tab.o: tree.h
322800Speteryycopy.o: 0.h
323800Speteryycopy.o: yy.h
324800Speteryycosts.o: whoami.h
325800Speteryycosts.o: 0.h
326800Speteryycosts.o: yy.h
327800Speteryyerror.o: whoami.h
328800Speteryyerror.o: 0.h
329800Speteryyerror.o: yy.h
330800Speteryyget.o: whoami.h
331800Speteryyget.o: 0.h
332800Speteryyget.o: yy.h
333800Speteryyid.o: whoami.h
334800Speteryyid.o: 0.h
335800Speteryyid.o: yy.h
336800Speteryylex.o: whoami.h
337800Speteryylex.o: 0.h
338800Speteryylex.o: yy.h
339800Speteryymain.o: whoami.h
340800Speteryymain.o: 0.h
341800Speteryymain.o: yy.h
342800Speteryymain.o: objfmt.h
343800Speteryyoptions.o: whoami.h
344800Speteryyoptions.o: 0.h
345800Speteryyoptions.o: yy.h
346800Speteryypanic.o: whoami.h
347800Speteryypanic.o: 0.h
348800Speteryypanic.o: yy.h
349800Speteryyparse.o: whoami.h
350800Speteryyparse.o: 0.h
351800Speteryyparse.o: yy.h
352800Speteryyprint.o: whoami.h
353800Speteryyprint.o: 0.h
354800Speteryyprint.o: yy.h
355800Speteryyput.o: whoami.h
356800Speteryyput.o: 0.h
357800Speteryyput.o: tree.h
358800Speteryyput.o: yy.h
359800Speteryyrecover.o: whoami.h
360800Speteryyrecover.o: 0.h
361800Speteryyrecover.o: yy.h
362800Speteryyseman.o: whoami.h
363800Speteryyseman.o: 0.h
364800Speteryyseman.o: yy.h
365800Speteryytree.o: whoami.h
366800Speteryytree.o: 0.h
367800Speteryytree.o: tree.h
368800Speter# DEPENDENCIES MUST END AT END OF FILE
369800Speter# IF YOU PUT STUFF HERE IT WILL GO AWAY
370800Speter# see make depend above
371