Pristine Ack-5.5
[Ack-5.5.git] / util / opt / proto.make
1 # $Id: proto.make,v 1.7 1994/06/24 10:40:48 ceriel Exp $
2
3 #PARAMS         do not remove this line!
4
5 SRC_DIR = $(SRC_HOME)/util/opt
6
7 CFILES= $(SRC_DIR)/main.c $(SRC_DIR)/getline.c $(SRC_DIR)/lookup.c \
8         $(SRC_DIR)/var.c $(SRC_DIR)/process.c $(SRC_DIR)/backward.c \
9         $(SRC_DIR)/util.c $(SRC_DIR)/alloc.c $(SRC_DIR)/putline.c \
10         $(SRC_DIR)/cleanup.c $(SRC_DIR)/peephole.c $(SRC_DIR)/flow.c \
11         $(SRC_DIR)/reg.c $(SRC_DIR)/tes.c pop_push.c
12
13 OFILES= main.$(SUF) getline.$(SUF) lookup.$(SUF) var.$(SUF) process.$(SUF) backward.$(SUF) util.$(SUF)\
14         alloc.$(SUF) putline.$(SUF) cleanup.$(SUF) peephole.$(SUF) flow.$(SUF) tes.$(SUF) pop_push.$(SUF)
15 ONOGLOB=regnoglob.$(SUF)
16 OGLOB=regglob.$(SUF)
17
18 LIBS=   $(TARGET_HOME)/lib.bin/em_data.$(LIBSUF)
19 ULIBS=  $(UTIL_HOME)/lib.bin/em_data.$(ULIBSUF)
20 INCLUDES=-I$(TARGET_HOME)/h -I$(SRC_DIR) -I.
21 UINCLUDES=-I$(TARGET_HOME)/h -I$(SRC_DIR) -I.
22 CFLAGS= -DNDEBUG $(INCLUDES) $(COPTIONS)
23 UCFLAGS= -DNDEBUG $(INCLUDES) $(UCOPTIONS)
24 LDFLAGS=$(LDOPTIONS)
25 ULDFLAGS=$(ULDOPTIONS)
26 LINTFLAGS=$(INCLUDES) -DNDEBUG -DNORCSID $(LINTOPTIONS)
27 CPP=$(UTIL_HOME)/lib.bin/cpp
28
29 all:    opt opt2
30
31 opt:    $(OFILES) $(ONOGLOB) pattern.$(SUF) $(LIBS)
32         $(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(ONOGLOB) pattern.$(SUF) $(LIBS) -o opt
33
34 opt2:   $(OFILES) $(OGLOB) pattern.$(SUF) $(LIBS)
35         $(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(OGLOB) pattern.$(SUF) $(LIBS) -o opt2
36
37 test:   opt testopt
38         testopt
39
40 cmp:    all
41         -cmp opt $(TARGET_HOMTARGET_HOME)/lib.bin/em_opt
42         -cmp opt2 $(TARGET_HOME)/lib.bin/em_opt2
43
44 install:all
45         cp opt $(TARGET_HOME)/lib.bin/em_opt
46         cp opt2 $(TARGET_HOME)/lib.bin/em_opt2
47         if [ $(DO_MACHINE_INDEP) = y ] ; \
48         then    mk_manpage $(SRC_DIR)/em_opt.6 $(TARGET_HOME) ; \
49         fi
50
51 pattern.c:      $(SRC_DIR)/patterns mktab
52         $(CPP) $(SRC_DIR)/patterns | mktab > pattern.c
53
54 mktab:  mktab.$(USUF) $(ULIBS)
55         $(UCC) $(ULDFLAGS) mktab.$(USUF) $(ULIBS) -o mktab
56
57 mktab.$(USUF):  scan.c $(SRC_DIR)/optim.h $(SRC_DIR)/param.h $(SRC_DIR)/pattern.h $(SRC_DIR)/types.h mktab.c
58         $(UCC) -c $(UCFLAGS) mktab.c
59
60 mktab.c:        $(SRC_DIR)/mktab.y
61         yacc $(SRC_DIR)/mktab.y && mv y.tab.c mktab.c
62
63 pop_push.c: $(SRC_HOME)/etc/em_table $(SRC_DIR)/pop_push.awk
64         awk -f $(SRC_DIR)/pop_push.awk < $(SRC_HOME)/etc/em_table > pop_push.c
65
66 regglob.c:      $(SRC_DIR)/reg.c
67         echo '#define GLOBAL_OPT' > regglob.c
68         cat $(SRC_DIR)/reg.c >> regglob.c
69
70 regnoglob.c:    $(SRC_DIR)/reg.c
71         cp $(SRC_DIR)/reg.c regnoglob.c
72
73 depend: pattern.c pop_push.c regglob.c regnoglob.c
74         rm_deps Makefile >Makefile.new
75         for i in $(CFILES) pattern.c regglob.c regnoglob.c ; do \
76                 echo "`basename $$i .c`.$$(SUF):        $$i" >> Makefile.new ; \
77                 echo '  $$(CC) -c $$(CFLAGS)' $$i >> Makefile.new ; \
78                 $(UTIL_HOME)/lib.bin/cpp -d $(INCLUDES) $$i | sed "s/^/`basename $$i .c`.$$(SUF):       /" >> Makefile.new ; \
79         done
80         mv Makefile Makefile.old
81         mv Makefile.new Makefile
82
83 lint:   $(CFILES) pattern.c
84         $(LINT) $(LINTFLAGS) $(CFILES) pattern.c $(UTIL_HOME)/lib.bin/$(LINTPREF)em_data.$(LINTSUF)
85
86 opr:
87         make pr | opr
88
89 pr:
90         @pr -n $(SRC_DIR)/proto.make $(SRC_DIR)/*.h $(CFILES) $(SRC_DIR)/mktab.y $(SRC_DIR)/scan.l $(SRC_DIR)/patterns
91
92 clean:
93         rm -f *.$(SUF) opt mktab mktab.c scan.c pattern.c opt2 Out \
94                 pop_push.c regglob.c regnoglob.c *.old
95
96 scan.c: $(SRC_DIR)/scan.l
97         flex -st $(SRC_DIR)/scan.l > scan.c
98
99 # the next lines are generated automatically
100 #DEPENDENCIES
101 main.$(SUF):    $(SRC_DIR)/main.c
102         $(CC) -c $(CFLAGS) $(SRC_DIR)/main.c
103 main.$(SUF):    $(SRC_DIR)/ext.h
104 main.$(SUF):    $(TARGET_HOME)/h/em_spec.h
105 main.$(SUF):    $(SRC_DIR)/alloc.h
106 main.$(SUF):    $(SRC_DIR)/tes.h
107 main.$(SUF):    $(SRC_DIR)/types.h
108 main.$(SUF):    $(SRC_DIR)/param.h
109 getline.$(SUF): $(SRC_DIR)/getline.c
110         $(CC) -c $(CFLAGS) $(SRC_DIR)/getline.c
111 getline.$(SUF): $(SRC_DIR)/ext.h
112 getline.$(SUF): $(TARGET_HOME)/h/em_mes.h
113 getline.$(SUF): $(TARGET_HOME)/h/em_flag.h
114 getline.$(SUF): $(TARGET_HOME)/h/em_pseu.h
115 getline.$(SUF): $(TARGET_HOME)/h/em_spec.h
116 getline.$(SUF): $(SRC_DIR)/proinf.h
117 getline.$(SUF): $(SRC_DIR)/alloc.h
118 getline.$(SUF): $(SRC_DIR)/lookup.h
119 getline.$(SUF): $(SRC_DIR)/line.h
120 getline.$(SUF): $(SRC_DIR)/tes.h
121 getline.$(SUF): $(SRC_DIR)/types.h
122 getline.$(SUF): $(SRC_DIR)/param.h
123 lookup.$(SUF):  $(SRC_DIR)/lookup.c
124         $(CC) -c $(CFLAGS) $(SRC_DIR)/lookup.c
125 lookup.$(SUF):  $(SRC_DIR)/proinf.h
126 lookup.$(SUF):  $(SRC_DIR)/alloc.h
127 lookup.$(SUF):  $(SRC_DIR)/lookup.h
128 lookup.$(SUF):  $(SRC_DIR)/tes.h
129 lookup.$(SUF):  $(SRC_DIR)/types.h
130 lookup.$(SUF):  $(SRC_DIR)/param.h
131 var.$(SUF):     $(SRC_DIR)/var.c
132         $(CC) -c $(CFLAGS) $(SRC_DIR)/var.c
133 var.$(SUF):     $(SRC_DIR)/proinf.h
134 var.$(SUF):     $(SRC_DIR)/lookup.h
135 var.$(SUF):     $(SRC_DIR)/tes.h
136 var.$(SUF):     $(SRC_DIR)/types.h
137 var.$(SUF):     $(SRC_DIR)/param.h
138 process.$(SUF): $(SRC_DIR)/process.c
139         $(CC) -c $(CFLAGS) $(SRC_DIR)/process.c
140 process.$(SUF): $(SRC_DIR)/ext.h
141 process.$(SUF): $(SRC_DIR)/proinf.h
142 process.$(SUF): $(SRC_DIR)/lookup.h
143 process.$(SUF): $(SRC_DIR)/line.h
144 process.$(SUF): $(SRC_DIR)/alloc.h
145 process.$(SUF): $(TARGET_HOME)/h/em_pseu.h
146 process.$(SUF): $(TARGET_HOME)/h/em_spec.h
147 process.$(SUF): $(SRC_DIR)/assert.h
148 process.$(SUF): $(SRC_DIR)/tes.h
149 process.$(SUF): $(SRC_DIR)/types.h
150 process.$(SUF): $(SRC_DIR)/param.h
151 backward.$(SUF):        $(SRC_DIR)/backward.c
152         $(CC) -c $(CFLAGS) $(SRC_DIR)/backward.c
153 backward.$(SUF):        $(SRC_DIR)/ext.h
154 backward.$(SUF):        $(TARGET_HOME)/h/em_mes.h
155 backward.$(SUF):        $(TARGET_HOME)/h/em_mnem.h
156 backward.$(SUF):        $(TARGET_HOME)/h/em_pseu.h
157 backward.$(SUF):        $(TARGET_HOME)/h/em_spec.h
158 backward.$(SUF):        $(SRC_DIR)/proinf.h
159 backward.$(SUF):        $(SRC_DIR)/alloc.h
160 backward.$(SUF):        $(SRC_DIR)/lookup.h
161 backward.$(SUF):        $(SRC_DIR)/line.h
162 backward.$(SUF):        $(SRC_DIR)/assert.h
163 backward.$(SUF):        $(SRC_DIR)/tes.h
164 backward.$(SUF):        $(SRC_DIR)/types.h
165 backward.$(SUF):        $(SRC_DIR)/param.h
166 util.$(SUF):    $(SRC_DIR)/util.c
167         $(CC) -c $(CFLAGS) $(SRC_DIR)/util.c
168 util.$(SUF):    $(SRC_DIR)/ext.h
169 util.$(SUF):    $(SRC_DIR)/optim.h
170 util.$(SUF):    $(SRC_DIR)/proinf.h
171 util.$(SUF):    $(SRC_DIR)/lookup.h
172 util.$(SUF):    $(SRC_DIR)/assert.h
173 util.$(SUF):    $(SRC_DIR)/tes.h
174 util.$(SUF):    $(SRC_DIR)/types.h
175 util.$(SUF):    $(SRC_DIR)/param.h
176 alloc.$(SUF):   $(SRC_DIR)/alloc.c
177         $(CC) -c $(CFLAGS) $(SRC_DIR)/alloc.c
178 alloc.$(SUF):   $(SRC_DIR)/proinf.h
179 alloc.$(SUF):   $(SRC_DIR)/lookup.h
180 alloc.$(SUF):   $(SRC_DIR)/line.h
181 alloc.$(SUF):   $(SRC_DIR)/alloc.h
182 alloc.$(SUF):   $(SRC_DIR)/assert.h
183 alloc.$(SUF):   $(SRC_DIR)/tes.h
184 alloc.$(SUF):   $(SRC_DIR)/types.h
185 alloc.$(SUF):   $(SRC_DIR)/param.h
186 putline.$(SUF): $(SRC_DIR)/putline.c
187         $(CC) -c $(CFLAGS) $(SRC_DIR)/putline.c
188 putline.$(SUF): $(SRC_DIR)/ext.h
189 putline.$(SUF): $(SRC_DIR)/optim.h
190 putline.$(SUF): $(SRC_DIR)/proinf.h
191 putline.$(SUF): $(SRC_DIR)/lookup.h
192 putline.$(SUF): $(SRC_DIR)/line.h
193 putline.$(SUF): $(SRC_DIR)/alloc.h
194 putline.$(SUF): $(TARGET_HOME)/h/em_flag.h
195 putline.$(SUF): $(TARGET_HOME)/h/em_mnem.h
196 putline.$(SUF): $(TARGET_HOME)/h/em_pseu.h
197 putline.$(SUF): $(TARGET_HOME)/h/em_spec.h
198 putline.$(SUF): $(SRC_DIR)/assert.h
199 putline.$(SUF): $(SRC_DIR)/tes.h
200 putline.$(SUF): $(SRC_DIR)/types.h
201 putline.$(SUF): $(SRC_DIR)/param.h
202 cleanup.$(SUF): $(SRC_DIR)/cleanup.c
203         $(CC) -c $(CFLAGS) $(SRC_DIR)/cleanup.c
204 cleanup.$(SUF): $(SRC_DIR)/ext.h
205 cleanup.$(SUF): $(SRC_DIR)/lookup.h
206 cleanup.$(SUF): $(TARGET_HOME)/h/em_mes.h
207 cleanup.$(SUF): $(TARGET_HOME)/h/em_spec.h
208 cleanup.$(SUF): $(TARGET_HOME)/h/em_pseu.h
209 cleanup.$(SUF): $(SRC_DIR)/assert.h
210 cleanup.$(SUF): $(SRC_DIR)/types.h
211 cleanup.$(SUF): $(SRC_DIR)/param.h
212 peephole.$(SUF):        $(SRC_DIR)/peephole.c
213         $(CC) -c $(CFLAGS) $(SRC_DIR)/peephole.c
214 peephole.$(SUF):        $(SRC_DIR)/ext.h
215 peephole.$(SUF):        $(SRC_DIR)/optim.h
216 peephole.$(SUF):        $(TARGET_HOME)/h/em_mnem.h
217 peephole.$(SUF):        $(TARGET_HOME)/h/em_spec.h
218 peephole.$(SUF):        $(SRC_DIR)/pattern.h
219 peephole.$(SUF):        $(SRC_DIR)/alloc.h
220 peephole.$(SUF):        $(SRC_DIR)/proinf.h
221 peephole.$(SUF):        $(SRC_DIR)/lookup.h
222 peephole.$(SUF):        $(SRC_DIR)/line.h
223 peephole.$(SUF):        $(SRC_DIR)/assert.h
224 peephole.$(SUF):        $(SRC_DIR)/tes.h
225 peephole.$(SUF):        $(SRC_DIR)/types.h
226 peephole.$(SUF):        $(SRC_DIR)/param.h
227 flow.$(SUF):    $(SRC_DIR)/flow.c
228         $(CC) -c $(CFLAGS) $(SRC_DIR)/flow.c
229 flow.$(SUF):    $(SRC_DIR)/ext.h
230 flow.$(SUF):    $(SRC_DIR)/optim.h
231 flow.$(SUF):    $(SRC_DIR)/proinf.h
232 flow.$(SUF):    $(SRC_DIR)/line.h
233 flow.$(SUF):    $(SRC_DIR)/alloc.h
234 flow.$(SUF):    $(TARGET_HOME)/h/em_mnem.h
235 flow.$(SUF):    $(TARGET_HOME)/h/em_spec.h
236 flow.$(SUF):    $(TARGET_HOME)/h/em_flag.h
237 flow.$(SUF):    $(SRC_DIR)/tes.h
238 flow.$(SUF):    $(SRC_DIR)/types.h
239 flow.$(SUF):    $(SRC_DIR)/param.h
240 reg.$(SUF):     $(SRC_DIR)/reg.c
241         $(CC) -c $(CFLAGS) $(SRC_DIR)/reg.c
242 reg.$(SUF):     $(SRC_DIR)/ext.h
243 reg.$(SUF):     $(TARGET_HOME)/h/em_mes.h
244 reg.$(SUF):     $(TARGET_HOME)/h/em_pseu.h
245 reg.$(SUF):     $(TARGET_HOME)/h/em_spec.h
246 reg.$(SUF):     $(SRC_DIR)/alloc.h
247 reg.$(SUF):     $(SRC_DIR)/proinf.h
248 reg.$(SUF):     $(SRC_DIR)/tes.h
249 reg.$(SUF):     $(SRC_DIR)/line.h
250 reg.$(SUF):     $(SRC_DIR)/types.h
251 reg.$(SUF):     $(SRC_DIR)/param.h
252 reg.$(SUF):     $(SRC_DIR)/assert.h
253 tes.$(SUF):     $(SRC_DIR)/tes.c
254         $(CC) -c $(CFLAGS) $(SRC_DIR)/tes.c
255 tes.$(SUF):     $(SRC_DIR)/pop_push.h
256 tes.$(SUF):     $(SRC_DIR)/ext.h
257 tes.$(SUF):     $(SRC_DIR)/line.h
258 tes.$(SUF):     $(SRC_DIR)/proinf.h
259 tes.$(SUF):     $(SRC_DIR)/alloc.h
260 tes.$(SUF):     $(SRC_DIR)/tes.h
261 tes.$(SUF):     $(SRC_DIR)/types.h
262 tes.$(SUF):     $(SRC_DIR)/assert.h
263 tes.$(SUF):     $(SRC_DIR)/param.h
264 tes.$(SUF):     $(TARGET_HOME)/h/em_pseu.h
265 tes.$(SUF):     $(TARGET_HOME)/h/em_mnem.h
266 tes.$(SUF):     $(TARGET_HOME)/h/em_spec.h
267 pop_push.$(SUF):        pop_push.c
268         $(CC) -c $(CFLAGS) pop_push.c
269 pop_push.$(SUF):        $(SRC_DIR)/pop_push.h
270 pattern.$(SUF): pattern.c
271         $(CC) -c $(CFLAGS) pattern.c
272 pattern.$(SUF): $(SRC_DIR)/pattern.h
273 pattern.$(SUF): $(SRC_DIR)/types.h
274 pattern.$(SUF): $(SRC_DIR)/param.h
275 regglob.$(SUF): regglob.c
276         $(CC) -c $(CFLAGS) regglob.c
277 regglob.$(SUF): $(SRC_DIR)/ext.h
278 regglob.$(SUF): $(TARGET_HOME)/h/em_mes.h
279 regglob.$(SUF): $(TARGET_HOME)/h/em_pseu.h
280 regglob.$(SUF): $(TARGET_HOME)/h/em_spec.h
281 regglob.$(SUF): $(SRC_DIR)/alloc.h
282 regglob.$(SUF): $(SRC_DIR)/proinf.h
283 regglob.$(SUF): $(SRC_DIR)/tes.h
284 regglob.$(SUF): $(SRC_DIR)/line.h
285 regglob.$(SUF): $(SRC_DIR)/types.h
286 regglob.$(SUF): $(SRC_DIR)/param.h
287 regglob.$(SUF): $(SRC_DIR)/assert.h
288 regnoglob.$(SUF):       regnoglob.c
289         $(CC) -c $(CFLAGS) regnoglob.c
290 regnoglob.$(SUF):       $(SRC_DIR)/ext.h
291 regnoglob.$(SUF):       $(TARGET_HOME)/h/em_mes.h
292 regnoglob.$(SUF):       $(TARGET_HOME)/h/em_pseu.h
293 regnoglob.$(SUF):       $(TARGET_HOME)/h/em_spec.h
294 regnoglob.$(SUF):       $(SRC_DIR)/alloc.h
295 regnoglob.$(SUF):       $(SRC_DIR)/proinf.h
296 regnoglob.$(SUF):       $(SRC_DIR)/tes.h
297 regnoglob.$(SUF):       $(SRC_DIR)/line.h
298 regnoglob.$(SUF):       $(SRC_DIR)/types.h
299 regnoglob.$(SUF):       $(SRC_DIR)/param.h
300 regnoglob.$(SUF):       $(SRC_DIR)/assert.h