xref: /original-bsd/usr.bin/pascal/px/Makefile (revision 264c46cb)
1SCCSID = "@(#)Makefile 1.17 02/03/83"
2
3DESTDIR =
4BINDIR = /usr/ucb
5LIBDIR = /usr/lib
6SRCDIR = ../src
7LIBPCDIR = /usr/src/usr.lib/libpc
8CC = cc
9CFLAGS = -O -I${SRCDIR} -I${LIBPCDIR}
10OPT = /lib/c2
11AS = as
12RM = rm -f
13
14PSHDR =	opc.c pic.c
15
16PXHDR =	vars.h machdep.h
17
18PXSRC =	int.c interp.c utilities.c
19
20PXOBJ =	int.o interp.o utilities.o
21
22PXUTL =	interp.sed clean.sed version.c
23
24.c.o:
25	${CC} ${CFLAGS} -c $*.c
26
27px: Version.c ${PXOBJ}
28	${CC} ${CFLAGS} -o px Version.c ${PXOBJ} -lpc -lm
29Version.c: version.c
30	${CC} ${CFLAGS} -o version version.c
31	./version >Version.c
32	${RM}  version
33interp.o interp.s: interp.c interp.sed
34	${CC} -S -I${SRCDIR} -I${LIBPCDIR} interp.c
35	sed -f interp.sed <interp.s >tmp
36	${OPT} tmp interp.s
37	/usr/lib/pc2 <interp.s >tmp
38	mv tmp interp.s
39	as -o interp.o interp.s
40h02opcs.h: ${SRCDIR}/OPnames.h opc.c
41	${CC} ${CFLAGS} opc.c -o opc
42	./opc >h02opcs.h
43	${RM} opc
44
45install: px
46	install px ${DESTDIR}/usr/ucb/px
47
48sources: ${PXHDR} ${PXSRC} ${PXUTL}
49${PSHDR}:
50	ln -s ${SRCDIR}/$@ $@
51
52clean:
53	${RM} *.o *.s px version opc* pic*
54	${RM} h02opcs.h errs lpr core tmp
55
56prt: interp.s
57	sed -f clean.sed <interp.s
58
59grind: sources
60	${BINDIR}/ctags -v *.h *.c *.s | sort -f >index
61	${BINDIR}/vgrind -t -x index >lpr
62	${CC} ${CFLAGS} -o pic pic.c
63	${BINDIR}/vgrind -t -n READ_ME Makefile lst >>lpr
64	${BINDIR}/vgrind -t ${PXSRC} >>lpr
65	./pic >lst
66	${BINDIR}/vpr lst
67	${BINDIR}/vpr -t lpr
68	${RM} index pic lst
69
70depend:	sources
71	ls *.c | sed 's;^\(.*\)\.c;\1.o: \1.c;' >makedep
72	/bin/grep '^#[ 	]*include' *.c | sed \
73		-e '/<.*>/d' \
74		-e 's;:[^"]*"\([^"]*\)".*;: \1;' \
75		-e 's/\.c/\.o/' \
76		-e 's;: libpc.h;: ${LIBPCDIR}/libpc.h;' \
77		-e 's;: objfmt.h;: ${SRCDIR}/objfmt.h;' \
78		-e 's;: OPnames.h;: ${SRCDIR}/OPnames.h;' >>makedep
79	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
80	echo '$$r makedep' >>eddep
81	echo 'w' >>eddep
82	cp Makefile Makefile.bak
83	ed - Makefile < eddep
84	rm eddep makedep
85	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
86	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
87	echo '# see make depend above' >> Makefile
88
89# DO NOT DELETE THIS LINE -- make depend uses it
90# DEPENDENCIES MUST END AT END OF FILE
91Version.o: Version.c
92int.o: int.c
93interp.o: interp.c
94opc.o: opc.c
95utilities.o: utilities.c
96version.o: version.c
97int.o: whoami.h
98int.o: vars.h
99int.o: /usr/src/usr.lib/libpc/libpc.h
100int.o: ../src/objfmt.h
101interp.o: whoami.h
102interp.o: vars.h
103interp.o: ../src/objfmt.h
104interp.o: h02opcs.h
105interp.o: machdep.h
106interp.o: /usr/src/usr.lib/libpc/libpc.h
107opc.o: ../src/OPnames.h
108utilities.o: whoami.h
109utilities.o: vars.h
110utilities.o: ../src/objfmt.h
111# DEPENDENCIES MUST END AT END OF FILE
112# IF YOU PUT STUFF HERE IT WILL GO AWAY
113# see make depend above
114