|
|
1.1 root 1: #
2: # %MIP% 1.6 87/07/27
3: #
4: # Makefile for tahoe pcc
5: #
6: RM= /bin/rm -f
7: GREP= egrep
8: MIP= ../../mip
9: #
10: # These symbols are used to configure the compiler:
11: # ASSTRINGS assembler handles string initializations
12: # STABDOT assembler understands .stabd
13: # LCOMM assembler supports .lcomm
14: # FIXSTRUCT no trickery {just output structure}
15: #
16: # Some symbols are specific to certain compilers:
17: # ONEPASS compile pass 1 and pass 2 together
18: # SPRECC do single precision in single not double
19: # FORT get f77-style pass 2
20: #
21: CONFIG= -DASSTRINGS -DSTABDOT -DLCOMM "-DFIXSTRUCT=outstruct"
22: INCS= -I. -I${MIP}
23: CFLAGS= -O
24: LDFLAGS=
25:
26: # files common to single and double precision compilers
27: SRCS= code.c local.c local2.c order.c rel.c stab.c \
28: ${MIP}/common.c ${MIP}/match.c ${MIP}/optim.c ${MIP}/pftn.c \
29: ${MIP}/reader.c ${MIP}/scan.c ${MIP}/xdefs.c ${MIP}/cgram.y
30: OBJS= code.o local.o local2.o order.o rel.o stab.o \
31: comm1.o match.o optim.o pftn.o reader.o scan.o xdefs.o cgram.o \
32: rodata.o
33: # double precision files
34: DOPTS= -DONEPASS ${INCS} ${CONFIG}
35: DFLAGS= ${CFLAGS} ${DOPTS}
36: DSRCS= ${MIP}/allo.c ${MIP}/trees.c table.c
37: DOBJS= allo.o trees.o table.o
38: # single precision stuff
39: SOPTS= -DSPRECC -DONEPASS ${INCS} ${CONFIG}
40: SFLAGS= ${CFLAGS} ${SOPTS}
41: SSRCS= strees.c sallo.c stable.c
42: SOBJS= strees.o sallo.o stable.o
43: # fortran version
44: FOPTS= -DFORT ${INCS} ${CONFIG}
45: FFLAGS= ${CFLAGS} ${FOPTS}
46: FSRCS= freader.c fallo.c fmatch.c ftable.c forder.c flocal2.c fcomm2.c ftable.c
47: FOBJS= freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o fcomm2.o ftable.o
48:
49: TESTDIR=.
50:
51: all: ./pcctokens ./pcclocal.h ccom sccom f1
52:
53: #
54: # 'ccom' is a one-pass C compiler.
55: #
56: ccom: ${OBJS} ${DOBJS} rel.o
57: ${CC} ${LDFLAGS} -o ${TESTDIR}/ccom ${OBJS} ${DOBJS} rel.o
58: trees.o: ${MIP}/trees.c
59: ${CC} -c ${DFLAGS} ${MIP}/trees.c
60: optim.o: ${MIP}/optim.c
61: ${CC} -c ${DFLAGS} ${MIP}/optim.c
62: pftn.o: ${MIP}/pftn.c
63: ${CC} -c ${DFLAGS} ${MIP}/pftn.c
64: code.o: code.c
65: ${CC} -c ${DFLAGS} code.c
66: local.o: local.c
67: ${CC} -c ${DFLAGS} local.c
68: scan.o: ${MIP}/scan.c
69: ${CC} -c ${DFLAGS} ${MIP}/scan.c
70: xdefs.o: ${MIP}/xdefs.c
71: ${CC} -c ${DFLAGS} ${MIP}/xdefs.c
72: cgram.o: cgram.c
73: ${CC} -c ${DFLAGS} cgram.c
74: rodata.o: rodata.c
75: ${CC} -c ${DFLAGS} -R rodata.c
76: rodata.c cgram.c: ${MIP}/cgram.y ./pcctokens
77: cat pcctokens ${MIP}/cgram.y > gram.in
78: ${YACC} gram.in
79: ${RM} rodata.c
80: sh ./:yyfix yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef
81: mv y.tab.c cgram.c
82: comm1.o: ${MIP}/common.c
83: ln ${MIP}/common.c comm1.c
84: ${CC} -c ${DFLAGS} -DPASS1COMMON comm1.c
85: ${RM} comm1.c
86: stab.o: stab.c
87: ${CC} -c ${DFLAGS} stab.c
88: table.o: table.c
89: ${CC} -c ${DFLAGS} -R table.c
90: reader.o: ${MIP}/reader.c
91: ${CC} -c ${DFLAGS} ${MIP}/reader.c
92: local2.o: local2.c
93: ${CC} -c ${DFLAGS} local2.c
94: order.o: order.c
95: ${CC} -c ${DFLAGS} order.c
96: match.o: ${MIP}/match.c
97: ${CC} -c ${DFLAGS} ${MIP}/match.c
98: allo.o: ${MIP}/allo.c
99: ${CC} -c ${DFLAGS} ${MIP}/allo.c
100:
101: #
102: # 'sccom' is a C compiler that does single precision computations in
103: # single precision rather than double precision.
104: #
105: sccom: ${OBJS} ${SOBJS} rel.o
106: ${CC} ${LDFLAGS} -o ${TESTDIR}/sccom ${OBJS} ${SOBJS} rel.o
107: strees.o: ${MIP}/trees.c
108: ln ${MIP}/trees.c strees.c
109: ${CC} -c ${SFLAGS} strees.c
110: ${RM} strees.c
111: sallo.o: ${MIP}/allo.c
112: ln ${MIP}/allo.c sallo.c
113: ${CC} -c ${SFLAGS} sallo.c
114: ${RM} sallo.c
115: stable.o: table.c
116: ln table.c stable.c
117: ${CC} -c ${SFLAGS} -R stable.c
118: ${RM} stable.c
119:
120: #
121: # 'f1' is the f77 and pc code generator.
122: #
123: f1: fort.o ${FOBJS}
124: ${CC} ${LDFLAGS} -o ${TESTDIR}/f1 fort.o ${FOBJS}
125: fort.o: fort.h ${MIP}/fort.c
126: ${CC} -c ${FFLAGS} ${MIP}/fort.c
127: freader.o: ${MIP}/reader.c
128: ln ${MIP}/reader.c freader.c
129: ${CC} -c ${FFLAGS} freader.c
130: ${RM} freader.c
131: fallo.o: ${MIP}/allo.c
132: ln ${MIP}/allo.c fallo.c
133: ${CC} -c ${FFLAGS} fallo.c
134: ${RM} fallo.c
135: fmatch.o: ${MIP}/match.c
136: ln ${MIP}/match.c fmatch.c
137: ${CC} -c ${FFLAGS} fmatch.c
138: ${RM} fmatch.c
139: ftable.o: table.c
140: ln table.c ftable.c
141: ${CC} -c -R ${FFLAGS} ftable.c
142: ${RM} ftable.c
143: forder.o: order.c
144: ln order.c forder.c
145: ${CC} -c ${FFLAGS} forder.c
146: ${RM} forder.c
147: flocal2.o: local2.c
148: ln local2.c flocal2.c
149: ${CC} -c ${FFLAGS} flocal2.c
150: ${RM} flocal2.c
151: fcomm2.o: ${MIP}/common.c
152: ln ${MIP}/common.c fcomm2.c
153: ${CC} -c ${FFLAGS} -DPASS2COMMON fcomm2.c
154: ${RM} fcomm2.c
155:
156: install:
157: install -s -o bin -g bin -m 755 ${TESTDIR}/ccom ${DESTDIR}/lib/ccom
158: install -s -o bin -g bin -m 755 ${TESTDIR}/sccom ${DESTDIR}/lib/sccom
159: install -s -o bin -g bin -m 755 ${TESTDIR}/f1 ${DESTDIR}/lib/f1
160:
161: ./pcclocal.h: localdefs.h /usr/include/pcc.h
162: ${RM} pcclocal.h
163: cat /usr/include/pcc.h localdefs.h | \
164: ${GREP} '^#[ ]*(define[ ][ ]*PCC(F|T|TM|OM)?_|ifdef|ifndef|endif)' | \
165: sed -e 's/PCC[A-Z]*_//' > pcclocal.h
166:
167: ./pcctokens: localdefs.h /usr/include/pcc.h
168: ${RM} pcctokens
169: cat /usr/include/pcc.h localdefs.h | \
170: ${GREP} '^#[ ]*define[ ][ ]*PCC_' | sed -e 's/^#[ ]*define[ ][ ]*PCC_/%term /' > pcctokens
171:
172: clean:
173: ${RM} *.o ccom sccom f1 cgram.c rodata.c pcctokens pcclocal.h \
174: gram.in ${SSRCS} ${FSRCS}
175:
176: lint:
177: lint -hax ${INCS} -I${MIP} cgram.c \
178: ${MIP}/xdefs.c ${MIP}/scan.c ${MIP}/pftn.c ${MIP}/trees.c \
179: ${MIP}/optim.c ${MIP}/reader.c ${MIP}/match.c ${MIP}/allo.c \
180: ${MIP}/comm1.c \
181: code.c local.c stab.c local2.c order.c table.c
182:
183: tags: ${SRCS} ${DSRCS}
184: ctags ${SRCS} ${DSRCS}
185:
186: # XXX this is less than complete
187: depend: ${SRCS} ${DSRCS} ./pcclocal.h ./pcctokens
188: mkdep ${CFLAGS} ${INCS} ${SRCS} ${DSRCS}
189:
190: # DO NOT DELETE THIS LINE -- mkdep uses it.
191: # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
192:
193: code.o: code.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
194: code.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
195: code.o: /usr/include/sys/types.h /usr/include/a.out.h /usr/include/sys/exec.h
196: code.o: /usr/include/stab.h
197: local.o: local.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
198: local.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
199: local2.o: local2.c ../../mip/pass2.h macdefs.h mac2defs.h ../../mip/manifest.h
200: local2.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
201: local2.o: /usr/include/ctype.h
202: order.o: order.c ../../mip/pass2.h macdefs.h mac2defs.h ../../mip/manifest.h
203: order.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
204: rel.o: rel.c
205: stab.o: stab.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
206: stab.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
207: stab.o: /usr/include/sys/types.h /usr/include/a.out.h /usr/include/sys/exec.h
208: stab.o: /usr/include/stab.h
209: common.o: ../../mip/common.c
210: match.o: ../../mip/match.c ../../mip/pass2.h macdefs.h mac2defs.h
211: match.o: ../../mip/manifest.h /usr/include/stdio.h pcclocal.h
212: match.o: ../../mip/config.h ../../mip/ndu.h
213: optim.o: ../../mip/optim.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
214: optim.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
215: pftn.o: ../../mip/pftn.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
216: pftn.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
217: reader.o: ../../mip/reader.c ../../mip/pass2.h macdefs.h mac2defs.h
218: reader.o: ../../mip/manifest.h /usr/include/stdio.h pcclocal.h
219: reader.o: ../../mip/config.h ../../mip/ndu.h
220: scan.o: ../../mip/scan.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
221: scan.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
222: scan.o: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/stab.h
223: scan.o: /usr/include/ctype.h /usr/include/signal.h /usr/include/machine/trap.h
224: xdefs.o: ../../mip/xdefs.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
225: xdefs.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
226: cgram.o: ../../mip/cgram.y ../../mip/pass1.h macdefs.h ../../mip/manifest.h
227: cgram.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
228: allo.o: ../../mip/allo.c ../../mip/pass2.h macdefs.h mac2defs.h
229: allo.o: ../../mip/manifest.h /usr/include/stdio.h pcclocal.h ../../mip/config.h
230: allo.o: ../../mip/ndu.h
231: trees.o: ../../mip/trees.c ../../mip/pass1.h macdefs.h ../../mip/manifest.h
232: trees.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
233: trees.o: /usr/include/setjmp.h
234: table.o: table.c ../../mip/pass2.h macdefs.h mac2defs.h ../../mip/manifest.h
235: table.o: /usr/include/stdio.h pcclocal.h ../../mip/config.h ../../mip/ndu.h
236:
237: # IF YOU PUT ANYTHING HERE IT WILL GO AWAY
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.