1SCCSID = "@(#)pimakefile 1.11 10/19/80"
2WHOAMI = pi
3INSTALLNAME = pi
4VERSION = 2.0
5
6MKSTR = /usr/ucb/mkstr
7EYACC = /usr/ucb/eyacc
8RM = -rm -f
9GET = sccs get
10
11CFLAGS = -O -w
12LDFLAGS = -z
13
14INSTALLDIR = /usr/lib
15LIBDIR = /usr/lib
16TMPDIR = tmp
17
18ERRORSTRINGS = ${WHOAMI}${VERSION}strings
19
20SRCS =	ato.c \
21	call.c case.c clas.c const.c conv.c cset.c \
22	error.c fdec.c flvalue.c func.c gen.c hash.c \
23	lab.c lookup.c lval.c stklval.c \
24	main.c nl.c proc.c put.c \
25	rec.c rval.c stkrval.c\
26	stat.c string.c subr.c \
27	tree.c type.c var.c \
28	TRdata.c \
29	treen.c putn.c yycopy.c \
30	yycosts.c yyerror.c yyget.c yyid.c yylex.c yymain.c yyoptions.c \
31	yypanic.c yyparse.c yyprint.c yyput.c yyrecover.c yyseman.c yytree.c \
32	p2put.c pcforop.c stab.c pcproc.c pcfunc.c pccaseop.c pclval.c
33
34HDRS =	0.h OPnames.h align.h iorec.h objfmt.h pstab.h pc.h pcops.h \
35	send.h tree.h whoami.h yy.h
36
37OTHERS = pas.y opc.c version.c gram pic.c
38
39OBJS =	ato.o \
40	call.o case.o clas.o const.o conv.o cset.o \
41	error.o fdec.o flvalue.o func.o gen.o hash.o \
42	lab.o lookup.o lval.o stklval.o \
43	main.o nl.o proc.o put.o \
44	rec.o rval.o stkrval.o\
45	stat.o string.o subr.o \
46	tree.o type.o var.o \
47	TRdata.o \
48	treen.o putn.o yycopy.o \
49	y.tab.o \
50	yycosts.o yyerror.o yyget.o yyid.o yylex.o yymain.o yyoptions.o \
51	yypanic.o yyparse.o yyprint.o yyput.o yyrecover.o yyseman.o yytree.o \
52	p2put.o pcforop.o stab.o pcproc.o pcfunc.o pccaseop.o pclval.o
53
54a.out: ${OBJS} version
55	./version > Version.c
56	${CC} ${CFLAGS} ${LDFLAGS} ${OBJS} Version.c
57
58sources: ${SRCS} ${HDRS} ${OTHERS}
59
60${SRCS} ${HDRS} ${OTHERS}:
61	${GET} ${REL} $@
62
63.c.o:
64	${RM} ${TMPDIR}/$*.c
65	${MKSTR} - ${ERRORSTRINGS} ${TMPDIR}/ $*.c
66	cd ${TMPDIR} ; ${CC} ${CFLAGS} -I.. -c $*.c ; mv $*.o  ../$*.o
67	${RM} ${TMPDIR}/$*.c
68
69y.tab.h: pas.y gram
70	${EYACC} pas.y > /dev/null
71	ex - y.tab.c <gram
72	@echo that makes y.tab.h and y.tab.c
73
74opcode.h: OPnames.h opc.c
75	cc opc.c -o opc
76	opc >opcode.h
77	${RM} opc
78
79pTree.h:
80	echo "/* this is not pTree.h */" > pTree.h
81
82version: version.c
83	${CC} version.c -o version
84
85clean:
86	${RM} *.o ${TMPDIR}/*.c
87	${RM} y.tab.h y.tab.c y.tab.out
88	${RM} ${ERRORSTRINGS}
89	${RM} version Version.c
90	${RM} a.out core *.list *.bak
91	${RM} opc.c opc pic tags
92	sccs clean
93
94print:	sources
95	@pr makefile READ_ME
96	@ls -ls | pr
97	@cc -o pic pic.c
98	@pic | pr
99	@rm pic
100	@pr 0.h whoami.h main.c pas.y
101	@pr OPnames.h opcode.h tree.h
102	@pr pc.h
103	@pr [a-ln-x]*.c
104	@pr yy.h yy*.c
105
106install: a.out
107	sccs check
108	cp ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS}
109	cp ${INSTALLDIR}/${INSTALLNAME} ${INSTALLDIR}/${INSTALLNAME}.bak
110	cp a.out ${INSTALLDIR}/${INSTALLNAME}
111
112depend:	sources
113	/bin/grep '^#[ 	]*include' *.h \
114		| sed '/<.*>/d' \
115		| sed 's/\(.*\):[^"]*"\([^"]*\)".*/\1: \2/' >makedep
116	/bin/grep '^#[ 	]*include' *.c \
117		| sed '/<.*>/d' \
118		| sed 's/:[^"]*"\([^"]*\)".*/: \1/' \
119		| sed 's/\.c/.o/' >>makedep
120	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
121	echo '$$r makedep' >>eddep
122	echo 'w' >>eddep
123	cp makefile makefile.bak
124	ed - makefile < eddep
125	rm eddep makedep
126	echo '# DEPENDENCIES MUST END AT END OF FILE' >> makefile
127	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> makefile
128	echo '# see make depend above' >> makefile
129
130# DO NOT DELETE THIS LINE -- make depend uses it
131
1320.h: pTree.h
133yy.h: y.tab.h
134TRdata.o: whoami.h
135TRdata.o: 0.h
136ato.o: whoami.h
137ato.o: 0.h
138call.o: whoami.h
139call.o: 0.h
140call.o: tree.h
141call.o: opcode.h
142call.o: objfmt.h
143call.o: pc.h
144call.o: pcops.h
145case.o: whoami.h
146case.o: 0.h
147case.o: tree.h
148case.o: opcode.h
149clas.o: whoami.h
150clas.o: 0.h
151clas.o: tree.h
152const.o: whoami.h
153const.o: 0.h
154const.o: tree.h
155conv.o: whoami.h
156conv.o: 0.h
157conv.o: opcode.h
158conv.o: pcops.h
159cset.o: whoami.h
160cset.o: 0.h
161cset.o: tree.h
162cset.o: opcode.h
163cset.o: objfmt.h
164cset.o: pc.h
165cset.o: pcops.h
166error.o: whoami.h
167error.o: 0.h
168error.o: yy.h
169fdec.o: whoami.h
170fdec.o: 0.h
171fdec.o: tree.h
172fdec.o: opcode.h
173fdec.o: objfmt.h
174fdec.o: align.h
175fdec.o: pc.h
176fdec.o: pcops.h
177flvalue.o: whoami.h
178flvalue.o: 0.h
179flvalue.o: tree.h
180flvalue.o: opcode.h
181flvalue.o: objfmt.h
182flvalue.o: pc.h
183flvalue.o: pcops.h
184func.o: whoami.h
185func.o: 0.h
186func.o: tree.h
187func.o: opcode.h
188gen.o: whoami.h
189gen.o: 0.h
190gen.o: tree.h
191gen.o: opcode.h
192gen.o: objfmt.h
193hash.o: whoami.h
194hash.o: 0.h
195hash.o: yy.h
196lab.o: whoami.h
197lab.o: 0.h
198lab.o: tree.h
199lab.o: opcode.h
200lab.o: objfmt.h
201lab.o: pc.h
202lab.o: pcops.h
203lookup.o: whoami.h
204lookup.o: 0.h
205lval.o: whoami.h
206lval.o: 0.h
207lval.o: tree.h
208lval.o: opcode.h
209lval.o: objfmt.h
210lval.o: pc.h
211lval.o: pcops.h
212main.o: whoami.h
213main.o: 0.h
214main.o: yy.h
215main.o: objfmt.h
216nl.o: whoami.h
217nl.o: 0.h
218nl.o: opcode.h
219nl.o: objfmt.h
220opc.o: OPnames.h
221p2put.o: whoami.h
222p2put.o: 0.h
223p2put.o: pcops.h
224p2put.o: pc.h
225pccaseop.o: whoami.h
226pccaseop.o: 0.h
227pccaseop.o: tree.h
228pccaseop.o: objfmt.h
229pccaseop.o: pcops.h
230pccaseop.o: pc.h
231pcforop.o: whoami.h
232pcforop.o: 0.h
233pcforop.o: opcode.h
234pcforop.o: tree.h
235pcforop.o: pc.h
236pcforop.o: pcops.h
237pcfunc.o: whoami.h
238pcfunc.o: 0.h
239pcfunc.o: tree.h
240pcfunc.o: opcode.h
241pcfunc.o: pc.h
242pcfunc.o: pcops.h
243pclval.o: whoami.h
244pclval.o: 0.h
245pclval.o: tree.h
246pclval.o: opcode.h
247pclval.o: objfmt.h
248pclval.o: pc.h
249pclval.o: pcops.h
250pcproc.o: whoami.h
251pcproc.o: 0.h
252pcproc.o: tree.h
253pcproc.o: opcode.h
254pcproc.o: pc.h
255pcproc.o: pcops.h
256pic.o: OPnames.h
257proc.o: whoami.h
258proc.o: 0.h
259proc.o: tree.h
260proc.o: opcode.h
261proc.o: objfmt.h
262put.o: whoami.h
263put.o: opcode.h
264put.o: 0.h
265put.o: objfmt.h
266put.o: pc.h
267put.o: OPnames.h
268rec.o: whoami.h
269rec.o: 0.h
270rec.o: tree.h
271rec.o: opcode.h
272rval.o: whoami.h
273rval.o: 0.h
274rval.o: tree.h
275rval.o: opcode.h
276rval.o: objfmt.h
277rval.o: pc.h
278rval.o: pcops.h
279stab.o: whoami.h
280stab.o: 0.h
281stab.o: pstab.h
282stab.o: pc.h
283stat.o: whoami.h
284stat.o: 0.h
285stat.o: tree.h
286stat.o: objfmt.h
287stat.o: pcops.h
288stat.o: pc.h
289stat.o: opcode.h
290stklval.o: whoami.h
291stklval.o: 0.h
292stklval.o: tree.h
293stklval.o: opcode.h
294stklval.o: objfmt.h
295stkrval.o: whoami.h
296stkrval.o: 0.h
297stkrval.o: tree.h
298stkrval.o: opcode.h
299stkrval.o: objfmt.h
300stkrval.o: pcops.h
301string.o: whoami.h
302string.o: 0.h
303string.o: send.h
304subr.o: whoami.h
305subr.o: 0.h
306tree.o: whoami.h
307tree.o: 0.h
308type.o: whoami.h
309type.o: 0.h
310type.o: tree.h
311type.o: objfmt.h
312var.o: whoami.h
313var.o: 0.h
314var.o: align.h
315var.o: pc.h
316var.o: pcops.h
317var.o: iorec.h
318y.tab.o: whoami.h
319y.tab.o: 0.h
320y.tab.o: yy.h
321y.tab.o: tree.h
322yycopy.o: 0.h
323yycopy.o: yy.h
324yycosts.o: whoami.h
325yycosts.o: 0.h
326yycosts.o: yy.h
327yyerror.o: whoami.h
328yyerror.o: 0.h
329yyerror.o: yy.h
330yyget.o: whoami.h
331yyget.o: 0.h
332yyget.o: yy.h
333yyid.o: whoami.h
334yyid.o: 0.h
335yyid.o: yy.h
336yylex.o: whoami.h
337yylex.o: 0.h
338yylex.o: yy.h
339yymain.o: whoami.h
340yymain.o: 0.h
341yymain.o: yy.h
342yymain.o: objfmt.h
343yyoptions.o: whoami.h
344yyoptions.o: 0.h
345yyoptions.o: yy.h
346yypanic.o: whoami.h
347yypanic.o: 0.h
348yypanic.o: yy.h
349yyparse.o: whoami.h
350yyparse.o: 0.h
351yyparse.o: yy.h
352yyprint.o: whoami.h
353yyprint.o: 0.h
354yyprint.o: yy.h
355yyput.o: whoami.h
356yyput.o: 0.h
357yyput.o: tree.h
358yyput.o: yy.h
359yyrecover.o: whoami.h
360yyrecover.o: 0.h
361yyrecover.o: yy.h
362yyseman.o: whoami.h
363yyseman.o: 0.h
364yyseman.o: yy.h
365yytree.o: whoami.h
366yytree.o: 0.h
367yytree.o: tree.h
368# DEPENDENCIES MUST END AT END OF FILE
369# IF YOU PUT STUFF HERE IT WILL GO AWAY
370# see make depend above
371