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.6 (Berkeley) 10/26/87
7#
8SCCSID = @(#)Makefile 5.6 10/26/87
9INSTALL = ${DESTDIR}/usr/ucb
10INSTALLIB = ${DESTDIR}/usr/lib
11SRCDIR=	../src
12PX_HEADER = px_header
13NM = nm -go
14RM = rm -f
15CFLAGS = -O -I${SRCDIR}
16
17PROGS =	pc pix pmerge
18FILES =	pcexterns.o how_pc how_pi how_pix how_pxp
19
20all: pix px_header pc pc2 pc3 pmerge pcexterns.o
21
22install: all pxref.p
23	dd if=px_header of=temp conv=sync
24	install -m 644 temp ${INSTALLIB}/${PX_HEADER}
25	for i in ${PROGS}; do (install -s $$i ${INSTALL}/$$i ); done
26	for i in ${FILES}; do (install -m 644 -c $$i ${INSTALLIB}/$$i ); done
27	install -s pc3 ${INSTALLIB}/pc3
28	cd pc2; make DESTDIR=${DESTDIR} install
29	-pc -w pxref.p
30	install -s a.out ${INSTALL}/pxref
31
32pix: pix.c config.o
33	${CC} ${CFLAGS} -o pix pix.c config.o
34
35pmerge: pmerge.c
36	${CC} ${CFLAGS} -o pmerge pmerge.c
37
38px_header: px_header.c ${SRCDIR}/objfmt.h config.o
39	${CC} ${CFLAGS} -o px_header px_header.c config.o -N
40	strip px_header
41
42pc2: /tmp
43	cd pc2; make
44
45pc3: pc3.c pc3.h ${SRCDIR}/pstab.h
46	${CC} ${CFLAGS} pc3.c -o pc3
47
48pxref: pxref.p
49	pc -w pxref.p -o pxref
50
51pc: pc.c
52	${CC} ${CFLAGS} -o pc pc.c
53
54LIBPC 	= /usr/lib/libpc.a
55LIBC	= /lib/libc.a
56LIBM	= /usr/lib/libm.a
57LIBG	= /usr/lib/libg.a
58D_LIBPC	= $(DESTDIR)$(LIBPC)
59D_LIBC	= $(DESTDIR)$(LIBC)
60D_LIBM	= $(DESTDIR)$(LIBM)
61D_LIBG	= $(DESTDIR)$(LIBG)
62LIBRARIES = $(D_LIBPC) $(D_LIBC) $(D_LIBM) $(D_LIBG)
63
64pcexterns.o: pcexterns.awk ${LIBRARIES}
65	( echo -n $(LIBPC):; ${NM} $(D_LIBPC) ) \
66		| awk -f pcexterns.awk \
67		| sort -t\" +1 -2 -u >pcexterns.s
68	( echo -n $(LIBC):; ${NM} $(D_LIBC) ) \
69		| awk -f pcexterns.awk \
70		| sort -t\" +1 -2 -u >>pcexterns.s
71	( echo -n $(LIBM):; ${NM} $(D_LIBM) ) \
72		| awk -f pcexterns.awk \
73		| sort -t\" +1 -2 -u >>pcexterns.s
74	( echo -n $(LIBG):; ${NM} $(D_LIBG) ) \
75		| awk -f pcexterns.awk \
76		| sort -t\" +1 -2 -u >>pcexterns.s
77	as pcexterns.s -o pcexterns.o
78	${RM} pcexterns.s
79
80opcode.h: ${SRCDIR}/OPnames.h ${SRCDIR}/opc.c
81	${RM} opcode.h
82	cc ${SRCDIR}/opc.c -o opc
83	opc >opcode.h
84	${RM} opc
85
86picture: ${SRCDIR}/OPnames.h ${SRCDIR}/pic.c
87	${RM} picture
88	cc ${SRCDIR}/pic.c -o pic
89	pic >picture
90	${RM} pic
91
92clean:
93	${RM} pix px_header pxref pmerge pc pc3 \
94	pcexterns.s *.o errs opc opc.c pic pic.c picture
95	cd pc2; make clean
96
97print: picture
98	@pr READ_ME Makefile picture
99	@ls -l | pr
100	@pr pix.c pmerge.c pxref.p pc.c pc3.h pc3.c
101
102depend:
103