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