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