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