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