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