xref: /csrg-svn/usr.bin/pascal/src/pimakefile (revision 10724)
1SCCSID = "@(#)pimakefile 1.35 02/03/83"
2
3INSTALLDIR = ${DESTDIR}/usr/ucb
4INSTALLNAME = ${INSTALLDIR}/pi
5BINDIR = ../pi
6SRCDIR = ../src
7WHOAMI = pi
8VERSION = 2.10
9DATE = 02/03/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 ${ERRORSTRINGS} ${LIBDIR}/${ERRORSTRINGS}
117	install -c 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
217case.o: whoami.h
218case.o: ../src/0.h
219case.o: ../src/tree.h
220case.o: opcode.h
221clas.o: whoami.h
222clas.o: ../src/0.h
223clas.o: ../src/tree.h
224const.o: whoami.h
225const.o: ../src/0.h
226const.o: ../src/tree.h
227conv.o: whoami.h
228conv.o: ../src/0.h
229conv.o: opcode.h
230conv.o: ../src/pcops.h
231cset.o: whoami.h
232cset.o: ../src/0.h
233cset.o: ../src/tree.h
234cset.o: opcode.h
235cset.o: ../src/objfmt.h
236cset.o: ../src/pc.h
237cset.o: ../src/pcops.h
238cset.o: ../src/align.h
239error.o: whoami.h
240error.o: ../src/0.h
241error.o: ../src/yy.h
242fdec.o: whoami.h
243fdec.o: ../src/0.h
244fdec.o: ../src/tree.h
245fdec.o: opcode.h
246fdec.o: ../src/objfmt.h
247fdec.o: ../src/align.h
248fdec.o: ../src/pc.h
249fdec.o: ../src/pcops.h
250fend.o: whoami.h
251fend.o: ../src/0.h
252fend.o: ../src/tree.h
253fend.o: opcode.h
254fend.o: ../src/objfmt.h
255fend.o: ../src/align.h
256fend.o: ../src/pc.h
257fend.o: ../src/pcops.h
258fhdr.o: whoami.h
259fhdr.o: ../src/0.h
260fhdr.o: ../src/tree.h
261fhdr.o: opcode.h
262fhdr.o: ../src/objfmt.h
263fhdr.o: ../src/align.h
264fhdr.o: ../src/pc.h
265fhdr.o: ../src/pcops.h
266flvalue.o: whoami.h
267flvalue.o: ../src/0.h
268flvalue.o: ../src/tree.h
269flvalue.o: opcode.h
270flvalue.o: ../src/objfmt.h
271flvalue.o: ../src/pc.h
272flvalue.o: ../src/pcops.h
273forop.o: whoami.h
274forop.o: ../src/0.h
275forop.o: opcode.h
276forop.o: ../src/tree.h
277forop.o: ../src/objfmt.h
278forop.o: ../src/pc.h
279forop.o: ../src/pcops.h
280func.o: whoami.h
281func.o: ../src/0.h
282func.o: ../src/tree.h
283func.o: opcode.h
284gen.o: whoami.h
285gen.o: ../src/0.h
286gen.o: ../src/tree.h
287gen.o: opcode.h
288gen.o: ../src/objfmt.h
289hash.o: whoami.h
290hash.o: ../src/0.h
291hash.o: ../src/yy.h
292lab.o: whoami.h
293lab.o: ../src/0.h
294lab.o: ../src/tree.h
295lab.o: opcode.h
296lab.o: ../src/objfmt.h
297lab.o: ../src/pc.h
298lab.o: ../src/pcops.h
299lookup.o: whoami.h
300lookup.o: ../src/0.h
301lval.o: whoami.h
302lval.o: ../src/0.h
303lval.o: ../src/tree.h
304lval.o: opcode.h
305lval.o: ../src/objfmt.h
306lval.o: ../src/pc.h
307lval.o: ../src/pcops.h
308main.o: whoami.h
309main.o: ../src/0.h
310main.o: ../src/yy.h
311main.o: ../src/objfmt.h
312main.o: ../src/config.h
313nl.o: whoami.h
314nl.o: ../src/0.h
315nl.o: opcode.h
316nl.o: ../src/objfmt.h
317opc.o: ../src/OPnames.h
318p2put.o: whoami.h
319p2put.o: ../src/0.h
320p2put.o: ../src/objfmt.h
321p2put.o: ../src/pcops.h
322p2put.o: ../src/pc.h
323p2put.o: ../src/align.h
324pccaseop.o: whoami.h
325pccaseop.o: ../src/0.h
326pccaseop.o: ../src/tree.h
327pccaseop.o: ../src/objfmt.h
328pccaseop.o: ../src/pcops.h
329pccaseop.o: ../src/pc.h
330pcfunc.o: whoami.h
331pcfunc.o: ../src/0.h
332pcfunc.o: ../src/tree.h
333pcfunc.o: ../src/objfmt.h
334pcfunc.o: opcode.h
335pcfunc.o: ../src/pc.h
336pcfunc.o: ../src/pcops.h
337pclval.o: whoami.h
338pclval.o: ../src/0.h
339pclval.o: ../src/tree.h
340pclval.o: opcode.h
341pclval.o: ../src/objfmt.h
342pclval.o: ../src/pc.h
343pclval.o: ../src/pcops.h
344pcproc.o: whoami.h
345pcproc.o: ../src/0.h
346pcproc.o: ../src/tree.h
347pcproc.o: ../src/objfmt.h
348pcproc.o: opcode.h
349pcproc.o: ../src/pc.h
350pcproc.o: ../src/pcops.h
351pic.o: ../src/OPnames.h
352proc.o: whoami.h
353proc.o: ../src/0.h
354proc.o: ../src/tree.h
355proc.o: opcode.h
356proc.o: ../src/objfmt.h
357put.o: whoami.h
358put.o: opcode.h
359put.o: ../src/0.h
360put.o: ../src/objfmt.h
361put.o: ../src/pc.h
362put.o: ../src/align.h
363put.o: ../src/OPnames.h
364rec.o: whoami.h
365rec.o: ../src/0.h
366rec.o: ../src/tree.h
367rec.o: opcode.h
368rec.o: ../src/align.h
369rval.o: whoami.h
370rval.o: ../src/0.h
371rval.o: ../src/tree.h
372rval.o: opcode.h
373rval.o: ../src/objfmt.h
374rval.o: ../src/pc.h
375rval.o: ../src/pcops.h
376savenl.o: whoami.h
377savenl.o: ../src/0.h
378savenl.o: ../src/objfmt.h
379savenl.o: ../src/../pdx/defs.h
380savenl.o: ../src/../pdx/object.h
381savenl.o: ../src/../pdx/object/objsym.rep
382savenl.o: ../src/../pdx/mappings.h
383savenl.o: ../src/../pdx/mappings/filetab.h
384sconv.o: whoami.h
385sconv.o: ../src/0.h
386sconv.o: ../src/pcops.h
387stab.o: whoami.h
388stab.o: ../src/0.h
389stab.o: ../src/objfmt.h
390stab.o: ../src/pstab.h
391stab.o: ../src/pc.h
392stat.o: whoami.h
393stat.o: ../src/0.h
394stat.o: ../src/tree.h
395stat.o: ../src/objfmt.h
396stat.o: ../src/pcops.h
397stat.o: ../src/pc.h
398stat.o: opcode.h
399stklval.o: whoami.h
400stklval.o: ../src/0.h
401stklval.o: ../src/tree.h
402stklval.o: opcode.h
403stklval.o: ../src/objfmt.h
404stkrval.o: whoami.h
405stkrval.o: ../src/0.h
406stkrval.o: ../src/tree.h
407stkrval.o: opcode.h
408stkrval.o: ../src/objfmt.h
409stkrval.o: ../src/pcops.h
410string.o: whoami.h
411string.o: ../src/0.h
412string.o: ../src/send.h
413subr.o: whoami.h
414subr.o: ../src/0.h
415tmps.o: whoami.h
416tmps.o: ../src/0.h
417tmps.o: ../src/objfmt.h
418tmps.o: ../src/pc.h
419tree.o: whoami.h
420tree.o: ../src/0.h
421type.o: whoami.h
422type.o: ../src/0.h
423type.o: ../src/tree.h
424type.o: ../src/objfmt.h
425var.o: whoami.h
426var.o: ../src/0.h
427var.o: ../src/objfmt.h
428var.o: ../src/align.h
429var.o: ../src/iorec.h
430var.o: ../src/pc.h
431var.o: ../src/pcops.h
432yycopy.o: ../src/0.h
433yycopy.o: ../src/yy.h
434yycosts.o: whoami.h
435yycosts.o: ../src/0.h
436yycosts.o: ../src/yy.h
437yyerror.o: whoami.h
438yyerror.o: ../src/0.h
439yyerror.o: ../src/yy.h
440yyget.o: whoami.h
441yyget.o: ../src/0.h
442yyget.o: ../src/yy.h
443yyid.o: whoami.h
444yyid.o: ../src/0.h
445yyid.o: ../src/yy.h
446yylex.o: whoami.h
447yylex.o: ../src/0.h
448yylex.o: ../src/yy.h
449yymain.o: whoami.h
450yymain.o: ../src/0.h
451yymain.o: ../src/yy.h
452yymain.o: ../src/objfmt.h
453yymain.o: ../src/config.h
454yyoptions.o: whoami.h
455yyoptions.o: ../src/0.h
456yyoptions.o: ../src/yy.h
457yypanic.o: whoami.h
458yypanic.o: ../src/0.h
459yypanic.o: ../src/yy.h
460yyparse.o: whoami.h
461yyparse.o: ../src/0.h
462yyparse.o: ../src/yy.h
463yyprint.o: whoami.h
464yyprint.o: ../src/0.h
465yyprint.o: ../src/yy.h
466yyput.o: whoami.h
467yyput.o: ../src/0.h
468yyput.o: ../src/tree.h
469yyput.o: ../src/yy.h
470yyrecover.o: whoami.h
471yyrecover.o: ../src/0.h
472yyrecover.o: ../src/yy.h
473yyseman.o: whoami.h
474yyseman.o: ../src/0.h
475yyseman.o: ../src/yy.h
476yytree.o: whoami.h
477yytree.o: ../src/0.h
478yytree.o: ../src/tree.h
479# DEPENDENCIES MUST END AT END OF FILE
480# IF YOU PUT STUFF HERE IT WILL GO AWAY
481# see make depend above
482