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