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