subsume Pascal dependent part of pc2.c
[unix-history] / usr / src / usr.bin / pascal / pcexterns / Makefile
CommitLineData
d12dbf37 1SCCSID = @(#)Makefile 1.17 %G%
a0820bd4
KM
2INSTALL = ${DESTDIR}/usr/ucb
3INSTALLIB = ${DESTDIR}/usr/lib
0e9a3c04 4SRCDIR= ../src
ad3646af 5PX_HEADER = px_header
ba78bc7f
KM
6NM = nm -go
7RM = rm -f
0e9a3c04 8CFLAGS = -O -I${SRCDIR}
a0820bd4 9
ad3646af
PA
10PROGS = pc pix pmerge
11FILES = pc2 pc3 pcexterns.o how_pc how_pi how_pix how_pxp
12
13all: pix px_header pc pc2 pc3 pmerge pcexterns.o
a0820bd4
KM
14
15install: 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
28pix: pix.c config.o
29 ${CC} ${CFLAGS} -o pix pix.c config.o
a0820bd4
KM
30
31pmerge: pmerge.c
0e9a3c04 32 ${CC} ${CFLAGS} -o pmerge pmerge.c
a0820bd4 33
ad3646af
PA
34px_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 38pc2: 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
46pc3: pc3.c pc3.h ${SRCDIR}/pstab.h
47 ${CC} ${CFLAGS} pc3.c -o pc3
a0820bd4
KM
48
49pxref: pxref.p
50 pc -w pxref.p -o pxref
51
52pc: pc.c
0e9a3c04 53 ${CC} ${CFLAGS} -o pc pc.c
a0820bd4 54
ad3646af
PA
55LIBPC = /usr/lib/libpc.a
56LIBC = /lib/libc.a
57LIBM = /usr/lib/libm.a
58LIBG = /usr/lib/libg.a
59D_LIBPC = $(DESTDIR)$(LIBPC)
60D_LIBC = $(DESTDIR)$(LIBC)
61D_LIBM = $(DESTDIR)$(LIBM)
62D_LIBG = $(DESTDIR)$(LIBG)
63LIBRARIES = $(D_LIBPC) $(D_LIBC) $(D_LIBM) $(D_LIBG)
c0cbd09f
PK
64
65pcexterns.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
81opcode.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
87picture: ${SRCDIR}/OPnames.h ${SRCDIR}/pic.c
88 ${RM} picture
89 cc ${SRCDIR}/pic.c -o pic
90 pic >picture
91 ${RM} pic
92
a0820bd4 93clean:
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
97print: 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