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