1*2186SmckusicSCCSID = "@(#)pimakefile 1.15 01/16/81"
21557SpeterWHOAMI = pi
31578SpeterINSTALLNAME = ${DESTDIR}/usr/ucb/pi
41557SpeterVERSION = 2.0
5800Speter
6800SpeterMKSTR = /usr/ucb/mkstr
7800SpeterEYACC = /usr/ucb/eyacc
8808SpeterRM = -rm -f
91631SpeterGET = touch
10800Speter
11800SpeterCFLAGS = -O -w
12800SpeterLDFLAGS = -z
13800Speter
141578SpeterLIBDIR = ${DESTDIR}/usr/lib
15800SpeterTMPDIR = tmp
16800Speter
171557SpeterERRORSTRINGS = ${WHOAMI}${VERSION}strings
18800Speter
19800SpeterSRCS =	ato.c \
20800Speter	call.c case.c clas.c const.c conv.c cset.c \
21*2186Smckusic	error.c fdec.c flvalue.c forop.c func.c gen.c \
22*2186Smckusic	hash.c lab.c lookup.c lval.c stklval.c \
23800Speter	main.c nl.c proc.c put.c \
24800Speter	rec.c rval.c stkrval.c\
25800Speter	stat.c string.c subr.c \
26800Speter	tree.c type.c var.c \
27800Speter	TRdata.c \
28800Speter	treen.c putn.c yycopy.c \
29800Speter	yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c yyoptions.c \
301212Speter	yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c yyseman.c yytree.c \
31*2186Smckusic	p2put.c stab.c pcproc.c pcfunc.c pccaseop.c pclval.c
32800Speter
331212SpeterHDRS =	0.h OPnames.h align.h iorec.h objfmt.h pstab.h pc.h pcops.h \
341212Speter	send.h tree.h whoami.h yy.h
35800Speter
36800SpeterOTHERS = pas.y opc.c version.c gram pic.c
37800Speter
38800SpeterOBJS =	ato.o \
39800Speter	call.o case.o clas.o const.o conv.o cset.o \
40*2186Smckusic	error.o fdec.o flvalue.o forop.o func.o gen.o \
41*2186Smckusic	hash.o lab.o lookup.o lval.o stklval.o \
42800Speter	main.o nl.o proc.o put.o \
43800Speter	rec.o rval.o stkrval.o\
44800Speter	stat.o string.o subr.o \
45800Speter	tree.o type.o var.o \
46800Speter	TRdata.o \
47800Speter	treen.o putn.o yycopy.o \
48800Speter	y.tab.o \
49800Speter	yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o yyoptions.o \
501212Speter	yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o yyseman.o yytree.o \
51*2186Smckusic	p2put.o stab.o pcproc.o pcfunc.o pccaseop.o pclval.o
52800Speter
53800Spetera.out: ${OBJS} version
54800Speter	./version > Version.c
55800Speter	${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} Version.c
56800Speter
571212Spetersources: ${SRCS} ${HDRS} ${OTHERS}
58800Speter
59800Speter${SRCS} ${HDRS} ${OTHERS}:
601631Speter	${GET} $@
61800Speter
62800Speter.c.o:
63808Speter	${RM} ${TMPDIR}/$*.c
64800Speter	${MKSTR} - ${ERRORSTRINGS} ${TMPDIR}/ $*.c
65800Speter	cd ${TMPDIR} ; ${CC} ${CFLAGS} -I.. -c $*.c ; mv $*.o  ../$*.o
66808Speter	${RM} ${TMPDIR}/$*.c
67800Speter
68800Spetery.tab.h: pas.y gram
69808Speter	${EYACC} pas.y > /dev/null
70800Speter	ex - y.tab.c <gram
71800Speter	@echo that makes y.tab.h and y.tab.c
72800Speter
73803Speteropcode.h: OPnames.h opc.c
74800Speter	cc opc.c -o opc
75800Speter	opc >opcode.h
76808Speter	${RM} opc
77800Speter
78801SpeterpTree.h:
79801Speter	echo "/* this is not pTree.h */" > pTree.h
80801Speter
81800Speterversion: version.c
82800Speter	${CC} version.c -o version
83800Speter
84800Speterclean:
85800Speter	${RM} *.o ${TMPDIR}/*.c
861212Speter	${RM} y.tab.h y.tab.c y.tab.out
87800Speter	${RM} ${ERRORSTRINGS}
88800Speter	${RM} version Version.c
89800Speter	${RM} a.out core *.list *.bak
901631Speter	${RM} opc pic tags
91800Speter
92800Speterprint:	sources
93800Speter	@pr makefile READ_ME
94800Speter	@ls -ls | pr
95800Speter	@cc -o pic pic.c
96800Speter	@pic | pr
97800Speter	@rm pic
98800Speter	@pr 0.h whoami.h main.c pas.y
99800Speter	@pr OPnames.h opcode.h tree.h
1001212Speter	@pr pc.h
101800Speter	@pr [a-ln-x]*.c
102800Speter	@pr yy.h yy*.c
103800Speter
104800Speterinstall: a.out
105800Speter	cp ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS}
1061566Speter	cp ${INSTALLNAME} ${INSTALLNAME}.bak
1071566Speter	cp a.out ${INSTALLNAME}
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
181*2186Smckusicforop.o: whoami.h
182*2186Smckusicforop.o: 0.h
183*2186Smckusicforop.o: opcode.h
184*2186Smckusicforop.o: tree.h
185*2186Smckusicforop.o: opcode.h
186*2186Smckusicforop.o: pc.h
187*2186Smckusicforop.o: pcops.h
188800Speterfunc.o: whoami.h
189800Speterfunc.o: 0.h
190800Speterfunc.o: tree.h
191800Speterfunc.o: opcode.h
192800Spetergen.o: whoami.h
193800Spetergen.o: 0.h
194800Spetergen.o: tree.h
195800Spetergen.o: opcode.h
196800Spetergen.o: objfmt.h
197800Speterhash.o: whoami.h
198800Speterhash.o: 0.h
199800Speterhash.o: yy.h
200800Speterlab.o: whoami.h
201800Speterlab.o: 0.h
202800Speterlab.o: tree.h
203800Speterlab.o: opcode.h
204800Speterlab.o: objfmt.h
205800Speterlab.o: pc.h
206800Speterlab.o: pcops.h
207800Speterlookup.o: whoami.h
208800Speterlookup.o: 0.h
209800Speterlval.o: whoami.h
210800Speterlval.o: 0.h
211800Speterlval.o: tree.h
212800Speterlval.o: opcode.h
213800Speterlval.o: objfmt.h
214800Speterlval.o: pc.h
215800Speterlval.o: pcops.h
216800Spetermain.o: whoami.h
217800Spetermain.o: 0.h
218800Spetermain.o: yy.h
219800Spetermain.o: objfmt.h
220800Speternl.o: whoami.h
221800Speternl.o: 0.h
222800Speternl.o: opcode.h
223800Speternl.o: objfmt.h
224800Speteropc.o: OPnames.h
2251212Speterp2put.o: whoami.h
2261212Speterp2put.o: 0.h
2271212Speterp2put.o: pcops.h
2281212Speterp2put.o: pc.h
2291212Speterpccaseop.o: whoami.h
2301212Speterpccaseop.o: 0.h
2311212Speterpccaseop.o: tree.h
2321212Speterpccaseop.o: objfmt.h
2331212Speterpccaseop.o: pcops.h
2341212Speterpccaseop.o: pc.h
2351212Speterpcfunc.o: whoami.h
2361212Speterpcfunc.o: 0.h
2371212Speterpcfunc.o: tree.h
2381212Speterpcfunc.o: opcode.h
2391212Speterpcfunc.o: pc.h
2401212Speterpcfunc.o: pcops.h
2411212Speterpclval.o: whoami.h
2421212Speterpclval.o: 0.h
2431212Speterpclval.o: tree.h
2441212Speterpclval.o: opcode.h
2451212Speterpclval.o: objfmt.h
2461212Speterpclval.o: pc.h
2471212Speterpclval.o: pcops.h
2481212Speterpcproc.o: whoami.h
2491212Speterpcproc.o: 0.h
2501212Speterpcproc.o: tree.h
2511212Speterpcproc.o: opcode.h
2521212Speterpcproc.o: pc.h
2531212Speterpcproc.o: pcops.h
254800Speterpic.o: OPnames.h
255800Speterproc.o: whoami.h
256800Speterproc.o: 0.h
257800Speterproc.o: tree.h
258800Speterproc.o: opcode.h
259800Speterproc.o: objfmt.h
260800Speterput.o: whoami.h
261800Speterput.o: opcode.h
262800Speterput.o: 0.h
263800Speterput.o: objfmt.h
264800Speterput.o: pc.h
265800Speterput.o: OPnames.h
266800Speterrec.o: whoami.h
267800Speterrec.o: 0.h
268800Speterrec.o: tree.h
269800Speterrec.o: opcode.h
270800Speterrval.o: whoami.h
271800Speterrval.o: 0.h
272800Speterrval.o: tree.h
273800Speterrval.o: opcode.h
274800Speterrval.o: objfmt.h
275800Speterrval.o: pc.h
276800Speterrval.o: pcops.h
2771212Speterstab.o: whoami.h
2781212Speterstab.o: 0.h
2791212Speterstab.o: pstab.h
2801212Speterstab.o: pc.h
281800Speterstat.o: whoami.h
282800Speterstat.o: 0.h
283800Speterstat.o: tree.h
284800Speterstat.o: objfmt.h
285800Speterstat.o: pcops.h
286800Speterstat.o: pc.h
287800Speterstat.o: opcode.h
288800Speterstklval.o: whoami.h
289800Speterstklval.o: 0.h
290800Speterstklval.o: tree.h
291800Speterstklval.o: opcode.h
292800Speterstklval.o: objfmt.h
293800Speterstkrval.o: whoami.h
294800Speterstkrval.o: 0.h
295800Speterstkrval.o: tree.h
296800Speterstkrval.o: opcode.h
297800Speterstkrval.o: objfmt.h
298800Speterstkrval.o: pcops.h
299800Speterstring.o: whoami.h
300800Speterstring.o: 0.h
301800Speterstring.o: send.h
302800Spetersubr.o: whoami.h
303800Spetersubr.o: 0.h
304800Spetertree.o: whoami.h
305800Spetertree.o: 0.h
306800Spetertype.o: whoami.h
307800Spetertype.o: 0.h
308800Spetertype.o: tree.h
309800Spetertype.o: objfmt.h
310800Spetervar.o: whoami.h
311800Spetervar.o: 0.h
312801Spetervar.o: align.h
313*2186Smckusicvar.o: iorec.h
314800Spetervar.o: pc.h
315800Spetervar.o: pcops.h
316801Spetery.tab.o: whoami.h
317801Spetery.tab.o: 0.h
318801Spetery.tab.o: yy.h
319801Spetery.tab.o: tree.h
320800Speteryycopy.o: 0.h
321800Speteryycopy.o: yy.h
322800Speteryycosts.o: whoami.h
323800Speteryycosts.o: 0.h
324800Speteryycosts.o: yy.h
325800Speteryyerror.o: whoami.h
326800Speteryyerror.o: 0.h
327800Speteryyerror.o: yy.h
328800Speteryyget.o: whoami.h
329800Speteryyget.o: 0.h
330800Speteryyget.o: yy.h
331800Speteryyid.o: whoami.h
332800Speteryyid.o: 0.h
333800Speteryyid.o: yy.h
334800Speteryylex.o: whoami.h
335800Speteryylex.o: 0.h
336800Speteryylex.o: yy.h
337800Speteryymain.o: whoami.h
338800Speteryymain.o: 0.h
339800Speteryymain.o: yy.h
340800Speteryymain.o: objfmt.h
341800Speteryyoptions.o: whoami.h
342800Speteryyoptions.o: 0.h
343800Speteryyoptions.o: yy.h
344800Speteryypanic.o: whoami.h
345800Speteryypanic.o: 0.h
346800Speteryypanic.o: yy.h
347800Speteryyparse.o: whoami.h
348800Speteryyparse.o: 0.h
349800Speteryyparse.o: yy.h
350800Speteryyprint.o: whoami.h
351800Speteryyprint.o: 0.h
352800Speteryyprint.o: yy.h
353800Speteryyput.o: whoami.h
354800Speteryyput.o: 0.h
355800Speteryyput.o: tree.h
356800Speteryyput.o: yy.h
357800Speteryyrecover.o: whoami.h
358800Speteryyrecover.o: 0.h
359800Speteryyrecover.o: yy.h
360800Speteryyseman.o: whoami.h
361800Speteryyseman.o: 0.h
362800Speteryyseman.o: yy.h
363800Speteryytree.o: whoami.h
364800Speteryytree.o: 0.h
365800Speteryytree.o: tree.h
366800Speter# DEPENDENCIES MUST END AT END OF FILE
367800Speter# IF YOU PUT STUFF HERE IT WILL GO AWAY
368800Speter# see make depend above
369