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