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