xref: /original-bsd/usr.bin/pascal/pxp/Makefile (revision f82e54c4)
1SCCSID = "@(#)Makefile	2.1 (Berkeley) 02/08/84"
2DESTDIR=
3ED=	-ex
4AS=	-as
5RM=	rm -f
6EYACC=	/usr/ucb/eyacc
7CFLAGS=	-O -I. -I${SRCDIR} -w -DRMOTHERS
8SRCDIR=	../src
9BINDIR=	../pxp
10#
11# Files which are specific to PXP
12#
13LOCOBJ=	Version.o call.o case.o const.o cset.o error.o fdec.o func.o \
14	lab.o lval.o main.o pmon.o pp.o proc.o rec.o rval.o stat.o \
15	string.o subr.o type.o var.o y.tab.o yycomm.o yyerror.o \
16	yymain.o yyput.o rmothers.o
17#
18# Files which are shared with pi and pc0
19#
20SRCOBJ=	TRdata.o hash.o nl.o tree.o treen.o yycopy.o yycosts.o yyget.o \
21	yyid.o yylex.o yypanic.o yyparse.o yyprint.o yyrecover.o \
22	yyseman.o yytree.o
23SRCSRC=	TRdata.c hash.c nl.c tree.c treen.c yycopy.c yycosts.c yyget.c \
24	yyid.c yylex.c yypanic.c yyparse.c yyprint.c yyrecover.c \
25	yyseman.c yytree.c
26
27all: a.out
28
29a.out:	${LOCOBJ} ${SRCOBJ}
30	${CC} ${CFLAGS} ${LOCOBJ} ${SRCOBJ}
31
32${SRCOBJ}:
33	-ln ${SRCDIR}/$*.c $*.c
34	${CC} ${CFLAGS} -c $*.c
35	${RM} $*.c
36
37y.tab.h y.tab.c: ${SRCDIR}/pas.y
38	${EYACC} ${SRCDIR}/pas.y >/dev/null
39	${ED} - y.tab.c < ${SRCDIR}/gram
40
41newversion: version
42	version > Version.c
43
44version: version.c Version.o
45	cc -o version version.c Version.o
46
47opcode.h: ${SRCDIR}/OPnames.h ${SRCDIR}/opc.c
48	${RM} opcode.h
49	cc ${SRCDIR}/opc.c -o opc
50	./opc >opcode.h
51	${RM} opc
52
53clean:
54	-rm -f a.out core errs version *.bak
55	-rm -f *.o x* y.tab.c y.tab.h opcode.h
56
57install: a.out
58	install a.out ${DESTDIR}/usr/ucb/pxp
59#	cp a.outNOID /usr/ucb/pxp34
60
61print:
62	@pr Makefile READ_ME
63	@ls -ls | pr
64	@size a.out *.o | pr
65#	@cxref *.c | pr
66	@pr 0.h main.c ${SRCDIR}/pas.y
67	@pr yy.h yy*.c
68	@pr [a-ln-x]*.c
69#	@pr putn.s treen.s yycopy.s
70
71depend:
72	ls *.c | sed 's;^\([a-zA-Z0-9.]*\)\.c;\1.o: &;' >makedep
73	cd ${SRCDIR}; ls ${SRCSRC} | sed \
74		-e 's;^\([a-zA-Z0-9.]*\)\.c;\1.o: ${SRCDIR}/&;' \
75		>>${BINDIR}/makedep
76	/bin/grep '^#[ 	]*include' *.h ${SRCDIR}/*.h | sed \
77		-e '/<.*>/d' \
78		-e 's;\(.*\):[^"]*"\([^"]*\)".*;\1: \2;' >>makedep
79	cd ${SRCDIR}; /bin/grep '^#[ 	]*include' ${SRCSRC} | sed \
80		-e '/<.*>/d' \
81		-e 's;:[^"]*"\([^"]*\)".*;: ${SRCDIR}/\1;' \
82		-e 's;^\([a-zA-Z0-9.]*\)\.c;\1.o;' \
83		-e 's;: ${SRCDIR}/0.h;: 0.h;' \
84		-e 's;: ${SRCDIR}/whoami.h;: whoami.h;' \
85		-e 's;: ${SRCDIR}/opcode.h;: opcode.h;' >>${BINDIR}/makedep
86	/bin/grep '^#[ 	]*include' *.c | sed \
87		-e '/<.*>/d' \
88		-e 's;:[^"]*"\([^"]*\)".*;: ${SRCDIR}/\1;' \
89		-e 's;^\([a-zA-Z0-9.]*\)\.c;\1.o;' \
90		-e 's;: ${SRCDIR}/0.h;: 0.h;' \
91		-e 's;: ${SRCDIR}/whoami.h;: whoami.h;' \
92		-e 's;: ${SRCDIR}/opcode.h;: opcode.h;' >>makedep
93	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
94	echo '$$r makedep' >>eddep
95	echo 'w' >>eddep
96	cp Makefile Makefile.bak
97	ed - Makefile < eddep
98	rm eddep makedep
99	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
100	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
101	echo '# see make depend above' >> Makefile
102
103# DO NOT DELETE THIS LINE
104# DEPENDENCIES MUST END AT END OF FILE
105Version.o: Version.c
106call.o: call.c
107case.o: case.c
108const.o: const.c
109cset.o: cset.c
110error.o: error.c
111fdec.o: fdec.c
112func.o: func.c
113lab.o: lab.c
114lval.o: lval.c
115main.o: main.c
116pmon.o: pmon.c
117pp.o: pp.c
118proc.o: proc.c
119rec.o: rec.c
120rmothers.o: rmothers.c
121rval.o: rval.c
122stat.o: stat.c
123string.o: string.c
124subr.o: subr.c
125type.o: type.c
126var.o: var.c
127version.o: version.c
128y.tab.o: y.tab.c
129yycomm.o: yycomm.c
130yyerror.o: yyerror.c
131yymain.o: yymain.c
132yyput.o: yyput.c
133TRdata.o: ../src/TRdata.c
134hash.o: ../src/hash.c
135nl.o: ../src/nl.c
136tree.o: ../src/tree.c
137treen.o: ../src/treen.c
138yycopy.o: ../src/yycopy.c
139yycosts.o: ../src/yycosts.c
140yyget.o: ../src/yyget.c
141yyid.o: ../src/yyid.c
142yylex.o: ../src/yylex.c
143yypanic.o: ../src/yypanic.c
144yyparse.o: ../src/yyparse.c
145yyprint.o: ../src/yyprint.c
146yyrecover.o: ../src/yyrecover.c
147yyseman.o: ../src/yyseman.c
148yytree.o: ../src/yytree.c
149../src/yy.h: y.tab.h
150TRdata.o: whoami.h
151TRdata.o: 0.h
152hash.o: whoami.h
153hash.o: 0.h
154hash.o: ../src/yy.h
155nl.o: whoami.h
156nl.o: 0.h
157nl.o: opcode.h
158nl.o: ../src/objfmt.h
159tree.o: whoami.h
160tree.o: 0.h
161yycopy.o: whoami.h
162yycopy.o: 0.h
163yycopy.o: ../src/yy.h
164yycosts.o: whoami.h
165yycosts.o: 0.h
166yycosts.o: ../src/yy.h
167yyget.o: whoami.h
168yyget.o: 0.h
169yyget.o: ../src/yy.h
170yyid.o: whoami.h
171yyid.o: 0.h
172yyid.o: ../src/yy.h
173yylex.o: whoami.h
174yylex.o: 0.h
175yylex.o: ../src/yy.h
176yypanic.o: whoami.h
177yypanic.o: 0.h
178yypanic.o: ../src/yy.h
179yyparse.o: whoami.h
180yyparse.o: 0.h
181yyparse.o: ../src/yy.h
182yyprint.o: whoami.h
183yyprint.o: 0.h
184yyprint.o: ../src/yy.h
185yyrecover.o: whoami.h
186yyrecover.o: 0.h
187yyrecover.o: ../src/yy.h
188yyseman.o: whoami.h
189yyseman.o: 0.h
190yyseman.o: ../src/yy.h
191yytree.o: whoami.h
192yytree.o: 0.h
193yytree.o: ../src/tree.h
194call.o: 0.h
195call.o: ../src/tree.h
196case.o: 0.h
197case.o: ../src/tree.h
198const.o: 0.h
199const.o: ../src/tree.h
200cset.o: 0.h
201cset.o: ../src/tree.h
202error.o: whoami.h
203error.o: 0.h
204error.o: ../src/yy.h
205fdec.o: 0.h
206fdec.o: ../src/tree.h
207func.o: 0.h
208func.o: ../src/tree.h
209lab.o: 0.h
210lval.o: 0.h
211lval.o: ../src/tree.h
212main.o: 0.h
213pmon.o: 0.h
214pp.o: 0.h
215proc.o: 0.h
216proc.o: ../src/tree.h
217rec.o: 0.h
218rmothers.o: 0.h
219rmothers.o: ../src/tree.h
220rval.o: 0.h
221rval.o: ../src/tree.h
222stat.o: 0.h
223stat.o: ../src/tree.h
224string.o: 0.h
225subr.o: 0.h
226type.o: 0.h
227type.o: ../src/tree.h
228var.o: 0.h
229var.o: ../src/tree.h
230y.tab.o: whoami.h
231y.tab.o: 0.h
232y.tab.o: ../src/yy.h
233y.tab.o: ../src/tree.h
234yycomm.o: whoami.h
235yycomm.o: 0.h
236yycomm.o: ../src/yy.h
237yyerror.o: whoami.h
238yyerror.o: 0.h
239yyerror.o: ../src/yy.h
240yymain.o: whoami.h
241yymain.o: 0.h
242yymain.o: ../src/yy.h
243yyput.o: whoami.h
244yyput.o: 0.h
245yyput.o: ../src/tree.h
246yyput.o: ../src/yy.h
247# DEPENDENCIES MUST END AT END OF FILE
248# IF YOU PUT STUFF HERE IT WILL GO AWAY
249# see make depend above
250