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