utah rcsid 1.5 87/12/11 00:28:45: Move localdefs.h upstairs so that
[unix-history] / usr / src / old / pcc / ccom.tahoe / Makefile
CommitLineData
052e90e5 1#
c088d9b0 2# Makefile 1.8 87/12/10
052e90e5 3#
391d89e6
SL
4# Makefile for tahoe pcc
5#
1aff99c4
SL
6RM= /bin/rm -f
7GREP= egrep
907b764b 8MIP= ../../mip
1aff99c4 9#
391d89e6
SL
10# Some symbols are specific to certain compilers:
11# ONEPASS compile pass 1 and pass 2 together
391d89e6
SL
12# FORT get f77-style pass 2
13#
1aff99c4
SL
14INCS= -I. -I${MIP}
15CFLAGS= -O
16LDFLAGS=
391d89e6 17
1e508397
DS
18# c version
19OPTS= -DONEPASS ${INCS}
20FLAGS= ${CFLAGS} ${OPTS}
1aff99c4
SL
21SRCS= code.c local.c local2.c order.c rel.c stab.c \
22 ${MIP}/common.c ${MIP}/match.c ${MIP}/optim.c ${MIP}/pftn.c \
1e508397
DS
23 ${MIP}/reader.c ${MIP}/scan.c ${MIP}/xdefs.c ${MIP}/cgram.y \
24 ${MIP}/allo.c ${MIP}/trees.c table.c
1aff99c4
SL
25OBJS= code.o local.o local2.o order.o rel.o stab.o \
26 comm1.o match.o optim.o pftn.o reader.o scan.o xdefs.o cgram.o \
1e508397 27 allo.o trees.o table.o rodata.o
391d89e6 28# fortran version
1e508397 29FOPTS= -DFORT ${INCS}
1aff99c4
SL
30FFLAGS= ${CFLAGS} ${FOPTS}
31FSRCS= freader.c fallo.c fmatch.c ftable.c forder.c flocal2.c fcomm2.c ftable.c
13988513 32FOBJS= freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o fcomm2.o ftable.o
391d89e6 33
391d89e6
SL
34TESTDIR=.
35
1e508397 36all: ./pcctokens ./pcclocal.h ccom f1
391d89e6
SL
37
38#
39# 'ccom' is a one-pass C compiler.
40#
1e508397
DS
41ccom: ${OBJS} rel.o
42 ${CC} ${LDFLAGS} -o ${TESTDIR}/ccom ${OBJS} rel.o
1aff99c4 43trees.o: ${MIP}/trees.c
1e508397 44 ${CC} -c ${FLAGS} ${MIP}/trees.c
1aff99c4 45optim.o: ${MIP}/optim.c
1e508397 46 ${CC} -c ${FLAGS} ${MIP}/optim.c
1aff99c4 47pftn.o: ${MIP}/pftn.c
1e508397 48 ${CC} -c ${FLAGS} ${MIP}/pftn.c
1aff99c4 49code.o: code.c
1e508397 50 ${CC} -c ${FLAGS} code.c
1aff99c4 51local.o: local.c
1e508397 52 ${CC} -c ${FLAGS} local.c
1aff99c4 53scan.o: ${MIP}/scan.c
1e508397 54 ${CC} -c ${FLAGS} ${MIP}/scan.c
1aff99c4 55xdefs.o: ${MIP}/xdefs.c
1e508397 56 ${CC} -c ${FLAGS} ${MIP}/xdefs.c
1aff99c4 57cgram.o: cgram.c
1e508397 58 ${CC} -c ${FLAGS} cgram.c
052e90e5 59rodata.o: rodata.c
1e508397 60 ${CC} -c ${FLAGS} -R rodata.c
1aff99c4
SL
61rodata.c cgram.c: ${MIP}/cgram.y ./pcctokens
62 cat pcctokens ${MIP}/cgram.y > gram.in
391d89e6
SL
63 ${YACC} gram.in
64 ${RM} rodata.c
65 sh ./:yyfix yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef
052e90e5 66 mv y.tab.c cgram.c
1aff99c4
SL
67comm1.o: ${MIP}/common.c
68 ln ${MIP}/common.c comm1.c
1e508397 69 ${CC} -c ${FLAGS} -DPASS1COMMON comm1.c
391d89e6 70 ${RM} comm1.c
1aff99c4 71stab.o: stab.c
1e508397 72 ${CC} -c ${FLAGS} stab.c
1aff99c4 73table.o: table.c
1e508397 74 ${CC} -c ${FLAGS} -R table.c
1aff99c4 75reader.o: ${MIP}/reader.c
1e508397 76 ${CC} -c ${FLAGS} ${MIP}/reader.c
1aff99c4 77local2.o: local2.c
1e508397 78 ${CC} -c ${FLAGS} local2.c
1aff99c4 79order.o: order.c
1e508397 80 ${CC} -c ${FLAGS} order.c
1aff99c4 81match.o: ${MIP}/match.c
1e508397 82 ${CC} -c ${FLAGS} ${MIP}/match.c
1aff99c4 83allo.o: ${MIP}/allo.c
1e508397 84 ${CC} -c ${FLAGS} ${MIP}/allo.c
391d89e6
SL
85
86#
87# 'f1' is the f77 and pc code generator.
88#
89f1: fort.o ${FOBJS}
90 ${CC} ${LDFLAGS} -o ${TESTDIR}/f1 fort.o ${FOBJS}
1aff99c4
SL
91fort.o: fort.h ${MIP}/fort.c
92 ${CC} -c ${FFLAGS} ${MIP}/fort.c
93freader.o: ${MIP}/reader.c
94 ln ${MIP}/reader.c freader.c
95 ${CC} -c ${FFLAGS} freader.c
391d89e6 96 ${RM} freader.c
1aff99c4
SL
97fallo.o: ${MIP}/allo.c
98 ln ${MIP}/allo.c fallo.c
99 ${CC} -c ${FFLAGS} fallo.c
391d89e6 100 ${RM} fallo.c
1aff99c4
SL
101fmatch.o: ${MIP}/match.c
102 ln ${MIP}/match.c fmatch.c
103 ${CC} -c ${FFLAGS} fmatch.c
391d89e6 104 ${RM} fmatch.c
1aff99c4 105ftable.o: table.c
391d89e6 106 ln table.c ftable.c
1aff99c4 107 ${CC} -c -R ${FFLAGS} ftable.c
391d89e6 108 ${RM} ftable.c
1aff99c4 109forder.o: order.c
391d89e6 110 ln order.c forder.c
1aff99c4 111 ${CC} -c ${FFLAGS} forder.c
391d89e6 112 ${RM} forder.c
1aff99c4 113flocal2.o: local2.c
391d89e6 114 ln local2.c flocal2.c
1aff99c4 115 ${CC} -c ${FFLAGS} flocal2.c
391d89e6 116 ${RM} flocal2.c
1aff99c4
SL
117fcomm2.o: ${MIP}/common.c
118 ln ${MIP}/common.c fcomm2.c
119 ${CC} -c ${FFLAGS} -DPASS2COMMON fcomm2.c
391d89e6 120 ${RM} fcomm2.c
052e90e5 121
f51e6ca6
KB
122install:
123 install -s -o bin -g bin -m 755 ${TESTDIR}/ccom ${DESTDIR}/lib/ccom
f51e6ca6 124 install -s -o bin -g bin -m 755 ${TESTDIR}/f1 ${DESTDIR}/lib/f1
391d89e6 125
c088d9b0 126./pcclocal.h: ../localdefs.h /usr/include/pcc.h
391d89e6 127 ${RM} pcclocal.h
c088d9b0 128 cat /usr/include/pcc.h ../localdefs.h | \
1aff99c4
SL
129 ${GREP} '^#[ ]*(define[ ][ ]*PCC(F|T|TM|OM)?_|ifdef|ifndef|endif)' | \
130 sed -e 's/PCC[A-Z]*_//' > pcclocal.h
391d89e6 131
c088d9b0 132./pcctokens: ../localdefs.h /usr/include/pcc.h
391d89e6 133 ${RM} pcctokens
c088d9b0 134 cat /usr/include/pcc.h ../localdefs.h | \
1aff99c4 135 ${GREP} '^#[ ]*define[ ][ ]*PCC_' | sed -e 's/^#[ ]*define[ ][ ]*PCC_/%term /' > pcctokens
391d89e6 136
391d89e6 137clean:
1e508397 138 ${RM} *.o ccom f1 cgram.c rodata.c pcctokens pcclocal.h \
1aff99c4
SL
139 gram.in ${SSRCS} ${FSRCS}
140
141lint:
1e508397 142 lint -hx ${OPTS} -DPASS1COMMON cgram.c \
1aff99c4
SL
143 ${MIP}/xdefs.c ${MIP}/scan.c ${MIP}/pftn.c ${MIP}/trees.c \
144 ${MIP}/optim.c ${MIP}/reader.c ${MIP}/match.c ${MIP}/allo.c \
1e508397
DS
145 ${MIP}/common.c \
146 code.c local.c stab.c local2.c order.c table.c rel.c
1aff99c4 147
1e508397
DS
148tags: ${SRCS}
149 ctags ${SRCS}
1aff99c4
SL
150
151# XXX this is less than complete
1e508397
DS
152depend: ${SRCS} ./pcclocal.h ./pcctokens
153 mkdep ${CFLAGS} ${INCS} ${SRCS}
391d89e6 154
f51e6ca6
KB
155# DO NOT DELETE THIS LINE -- mkdep uses it.
156# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
13988513 157
1e508397
DS
158code.o: code.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
159code.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
160code.o: /usr/include/sys/types.h /usr/include/a.out.h /usr/include/sys/exec.h
161code.o: /usr/include/stab.h
162local.o: local.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
163local.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
164local2.o: local2.c ../../mip/pass2.h macdefs.h mac2defs.h ../../mip/manifest.h
165local2.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
166local2.o: /usr/include/ctype.h
167order.o: order.c ../../mip/pass2.h macdefs.h mac2defs.h ../../mip/manifest.h
168order.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
1aff99c4 169rel.o: rel.c
1e508397
DS
170stab.o: stab.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
171stab.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
172stab.o: /usr/include/sys/types.h /usr/include/a.out.h /usr/include/sys/exec.h
173stab.o: /usr/include/stab.h
907b764b 174common.o: ../../mip/common.c
1e508397
DS
175match.o: ../../mip/match.c ../../mip/pass2.h macdefs.h mac2defs.h
176match.o: ../../mip/manifest.h /usr/include/stdio.h pcclocal.h
f51e6ca6 177match.o: ../../mip/config.h ../../mip/ndu.h
1e508397
DS
178optim.o: ../../mip/optim.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
179optim.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
180pftn.o: ../../mip/pftn.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
181pftn.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
182reader.o: ../../mip/reader.c ../../mip/pass2.h macdefs.h mac2defs.h
183reader.o: ../../mip/manifest.h /usr/include/stdio.h pcclocal.h
f51e6ca6 184reader.o: ../../mip/config.h ../../mip/ndu.h
1e508397
DS
185scan.o: ../../mip/scan.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
186scan.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
187scan.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h
188scan.o: /usr/include/ctype.h /usr/include/signal.h /usr/include/machine/trap.h
189xdefs.o: ../../mip/xdefs.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
190xdefs.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
191cgram.o: ../../mip/cgram.y ../../mip/pass1.h macdefs.h ../../mip/manifest.h
192cgram.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
193allo.o: ../../mip/allo.c ../../mip/pass2.h macdefs.h mac2defs.h
194allo.o: ../../mip/manifest.h /usr/include/stdio.h pcclocal.h ../../mip/config.h
195allo.o: ../../mip/ndu.h
196trees.o: ../../mip/trees.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
197trees.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
198trees.o: /usr/include/setjmp.h
199table.o: table.c ../../mip/pass2.h macdefs.h mac2defs.h ../../mip/manifest.h
200table.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
f51e6ca6
KB
201
202# IF YOU PUT ANYTHING HERE IT WILL GO AWAY