utah rcsid 1.15 87/04/24 18:59:25: (1) OPLOG templates were modified to
[unix-history] / usr / src / old / pcc / ccom.vax / Makefile
CommitLineData
f41da1d8 1#
c4d20096 2# Makefile 1.17 87/12/11
0ec67d08
RC
3#
4# Makefile for PCC
5#
36b4e17c
RC
6# Some symbols are specific to certain compilers:
7# ONEPASS compile pass 1 and pass 2 together
8# SPRECC do single precision in single not double
9# FORT get f77-style pass 2
10#
468b6878 11O = -O
c4d20096 12CFLAGS = $(O) -I. -I$(M)
36b4e17c
RC
13
14COPTS = -DONEPASS $(CFLAGS)
15SCOPTS = -DONEPASS -DSPRECC $(CFLAGS)
16FOPTS = -DFORT $(CFLAGS)
cfb725a6 17LDFLAGS =
30636230 18
0ec67d08 19RM= /bin/rm -f
7136bb67 20LN= /bin/ln -s
0ec67d08
RC
21
22SFILES= strees.c slocal.c slocal2.c sallo.c sorder.c stable.c
23SOBJS= strees.o slocal.o slocal2.o sallo.o sorder.o stable.o
24FFILES= freader.c fallo.c fmatch.c ftable.c forder.c flocal2.c fcomm2.c
25FOBJS= freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o fcomm2.o
26
88bb0c9f
KM
27P1INCS= $M/pass1.h macdefs.h $M/manifest.h pcclocal.h $M/config.h $M/ndu.h \
28 /usr/include/stdio.h
29P1ONEP= $(P1INCS) $M/onepass.h
30P2INCS= $M/pass2.h macdefs.h mac2defs.h $M/manifest.h pcclocal.h $M/config.h \
31 $M/ndu.h /usr/include/stdio.h
32P2ONEP= $(P2INCS) $M/onepass.h
e1856bec
SL
33OBJS= code.o rel.o stab.o comm1.o match.o optim.o pftn.o \
34 reader.o scan.o xdefs.o cgram.o rodata.o
35DOBJS= allo.o local.o local2.o order.o trees.o table.o
907b764b 36M=../../mip
0ec67d08
RC
37TESTDIR = .
38
88bb0c9f 39all: ccom sccom f1
0ec67d08
RC
40
41#
88bb0c9f 42# 'ccom' is a one-pass C compiler.
0ec67d08 43#
e1856bec
SL
44ccom: ${OBJS} ${DOBJS} rel.o
45 $(CC) $(LDFLAGS) ${OBJS} ${DOBJS} rel.o -o $(TESTDIR)/ccom
88bb0c9f
KM
46trees.o: $(P1ONEP) $M/trees.c
47 $(CC) -c $(COPTS) $M/trees.c
48optim.o: $(P1ONEP) $M/optim.c
49 $(CC) -c $(COPTS) $M/optim.c
50pftn.o: $(P1ONEP) $M/pftn.c
51 $(CC) -c $(COPTS) $M/pftn.c
52code.o: $(P1ONEP) code.c
53 $(CC) -c $(COPTS) code.c
54local.o: $(P1ONEP) local.c
55 $(CC) -c $(COPTS) local.c
56scan.o: $(P1ONEP) $M/scan.c
57 $(CC) -c $(COPTS) $M/scan.c
58xdefs.o: $(P1ONEP) $M/xdefs.c
59 $(CC) -c $(COPTS) $M/xdefs.c
60cgram.o: $(P1ONEP) cgram.c
61 $(CC) -c $(COPTS) cgram.c
84dbcf84 62rodata.o: rodata.c
36b4e17c 63 $(CC) -c $(COPTS) -R rodata.c
0ec67d08
RC
64rodata.c cgram.c: $M/cgram.y pcctokens
65 cat pcctokens $M/cgram.y > gram.in
66 $(YACC) gram.in
67 $(RM) rodata.c
30636230 68 sh ./:yyfix yyexca yyact yypact yypgo yyr1 yyr2 yychk yydef
84dbcf84 69 mv y.tab.c cgram.c
88bb0c9f 70comm1.o: $(P1ONEP) $M/common.c
7136bb67 71 $(LN) $M/common.c comm1.c
88bb0c9f 72 $(CC) -c $(COPTS) -DPASS1COMMON comm1.c
0ec67d08 73 $(RM) comm1.c
88bb0c9f
KM
74stab.o: $(P1ONEP) stab.c \
75 /usr/include/stab.h /usr/include/a.out.h /usr/include/sys/types.h
76 $(CC) -c $(COPTS) stab.c
77table.o: $(P2ONEP) table.c
78 $(CC) -c $(COPTS) -R table.c
79reader.o: $(P2ONEP) $M/reader.c
80 $(CC) -c $(COPTS) $M/reader.c
81local2.o: $(P2ONEP) local2.c
82 $(CC) -c $(COPTS) local2.c
83order.o: $(P2ONEP) order.c
84 $(CC) -c $(COPTS) order.c
85match.o: $(P2ONEP) $M/match.c
86 $(CC) -c $(COPTS) $M/match.c
87allo.o: $(P2ONEP) $M/allo.c
88 $(CC) -c $(COPTS) $M/allo.c
0ec67d08
RC
89
90#
88bb0c9f 91# 'sccom' is a C compiler that does single precision computations in
0ec67d08
RC
92# single precision rather than double precision.
93#
e1856bec
SL
94sccom: ${OBJS} ${SOBJS} rel.o
95 $(CC) $(LDFLAGS) ${OBJS} ${SOBJS} rel.o -o $(TESTDIR)/sccom
88bb0c9f 96strees.o: $(P1ONEP) $M/trees.c
7136bb67 97 $(LN) $M/trees.c strees.c
88bb0c9f 98 $(CC) -c $(SCOPTS) strees.c
0ec67d08 99 $(RM) strees.c
88bb0c9f 100slocal.o: $(P1ONEP) local.c
7136bb67 101 $(LN) local.c slocal.c
88bb0c9f 102 $(CC) -c $(SCOPTS) slocal.c
0ec67d08 103 $(RM) slocal.c
88bb0c9f 104slocal2.o: $(P2ONEP) local2.c
7136bb67 105 $(LN) local2.c slocal2.c
88bb0c9f 106 $(CC) -c $(SCOPTS) slocal2.c
0ec67d08 107 $(RM) slocal2.c
88bb0c9f 108sallo.o: $(P2ONEP) $M/allo.c
7136bb67 109 $(LN) $M/allo.c sallo.c
88bb0c9f 110 $(CC) -c $(SCOPTS) sallo.c
0ec67d08 111 $(RM) sallo.c
88bb0c9f 112sorder.o: $(P2ONEP) order.c
7136bb67 113 $(LN) order.c sorder.c
88bb0c9f 114 $(CC) -c $(SCOPTS) sorder.c
0ec67d08 115 $(RM) sorder.c
88bb0c9f 116stable.o: $(P2ONEP) table.c
7136bb67 117 $(LN) table.c stable.c
88bb0c9f 118 $(CC) -c $(SCOPTS) -R stable.c
0ec67d08
RC
119 $(RM) stable.c
120
121#
88bb0c9f 122# 'f1' is the f77 and pc code generator.
0ec67d08 123#
88bb0c9f 124f1: fort.o freader.o fallo.o fmatch.o ftable.o forder.o flocal2.o \
84dbcf84 125 fcomm2.o
36b4e17c 126 $(CC) $(LDFLAGS) fort.o freader.o fallo.o fmatch.o ftable.o \
88bb0c9f
KM
127 forder.o flocal2.o fcomm2.o -o $(TESTDIR)/f1
128fort.o: $(P2INCS) fort.h $M/fort.c
129 $(CC) -c $(FOPTS) $M/fort.c
130freader.o: $(P2INCS) $M/reader.c
7136bb67 131 $(LN) $M/reader.c freader.c
88bb0c9f 132 $(CC) -c $(FOPTS) freader.c
0ec67d08 133 $(RM) freader.c
88bb0c9f 134fallo.o: $(P2INCS) $M/allo.c
7136bb67 135 $(LN) $M/allo.c fallo.c
88bb0c9f 136 $(CC) -c $(FOPTS) fallo.c
0ec67d08 137 $(RM) fallo.c
88bb0c9f 138fmatch.o: $(P2INCS) $M/match.c
7136bb67 139 $(LN) $M/match.c fmatch.c
88bb0c9f 140 $(CC) -c $(FOPTS) fmatch.c
0ec67d08 141 $(RM) fmatch.c
88bb0c9f 142ftable.o: $(P2INCS) table.c
7136bb67 143 $(LN) table.c ftable.c
88bb0c9f 144 $(CC) -c -R $(FOPTS) ftable.c
0ec67d08 145 $(RM) ftable.c
88bb0c9f 146forder.o: $(P2INCS) order.c
7136bb67 147 $(LN) order.c forder.c
88bb0c9f 148 $(CC) -c $(FOPTS) forder.c
0ec67d08 149 $(RM) forder.c
88bb0c9f 150flocal2.o: $(P2INCS) local2.c
7136bb67 151 $(LN) local2.c flocal2.c
88bb0c9f 152 $(CC) -c $(FOPTS) flocal2.c
0ec67d08 153 $(RM) flocal2.c
88bb0c9f 154fcomm2.o: $(P2INCS) $M/common.c
7136bb67 155 $(LN) $M/common.c fcomm2.c
88bb0c9f 156 $(CC) -c $(FOPTS) -DPASS2COMMON fcomm2.c
0ec67d08
RC
157 $(RM) fcomm2.c
158
cfb725a6 159install: all
581da8de
KB
160 install -s -o bin -g bin -m 755 ${TESTDIR}/ccom ${DESTDIR}/lib/ccom
161 install -s -o bin -g bin -m 755 ${TESTDIR}/sccom ${DESTDIR}/lib/sccom
162 install -s -o bin -g bin -m 755 ${TESTDIR}/f1 ${DESTDIR}/lib/f1
0ec67d08
RC
163
164GREP= egrep
165
c4d20096 166pcclocal.h: ../localdefs.h /usr/include/pcc.h
0ec67d08 167 $(RM) pcclocal.h
c4d20096 168 cat /usr/include/pcc.h ../localdefs.h | $(GREP) '^#[ ]*(define[ ][ ]*PCC(F|T|TM|OM)?_|ifdef|ifndef|endif)' | sed -e 's/PCC[A-Z]*_//' > pcclocal.h
0ec67d08 169
c4d20096 170pcctokens: ../localdefs.h /usr/include/pcc.h
0ec67d08 171 $(RM) pcctokens
c4d20096 172 cat /usr/include/pcc.h ../localdefs.h | $(GREP) '^#[ ]*define[ ][ ]*PCC_' | sed -e 's/^#[ ]*define[ ][ ]*PCC_/%term /' > pcctokens
0ec67d08
RC
173
174DUMMIES= $(SFILES) $(FFILES)
175
a0ead1fc 176shrink:
88bb0c9f 177 $(RM) *.o ccom sccom f1 $(DUMMIES)
a0ead1fc 178clean:
88bb0c9f 179 $(RM) *.o ccom sccom f1 cgram.c rodata.c pcctokens pcclocal.h gram.in $(DUMMIES)
0ec67d08
RC
180sfix:
181 $(RM) $(SFILES)
182sclean:
183 $(RM) $(SOBJS) $(SFILES)
184ffix:
185 $(RM) $(FFILES)
186fclean:
187 $(RM) $(FOBJS) $(FFILES)
188
c4d20096 189# Should use -a, but the situation is too confusing to fix at the moment...
a0ead1fc 190lintall:
c4d20096
DS
191 lint -hx $(COPTS) -DPASS1COMMON cgram.c $M/xdefs.c $M/scan.c \
192 $M/pftn.c $M/trees.c $M/optim.c code.c local.c stab.c \
193 $M/reader.c local2.c order.c $M/match.c $M/allo.c \
194 $M/common.c table.c rodata.c rel.c
581da8de
KB
195
196depend:
197tags: