1 # $Id: proto.make,v 1.7 1994/06/24 10:40:48 ceriel Exp $
3 #PARAMS do not remove this line!
5 SRC_DIR = $(SRC_HOME)/util/opt
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
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)
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)
25 ULDFLAGS=$(ULDOPTIONS)
26 LINTFLAGS=$(INCLUDES) -DNDEBUG -DNORCSID $(LINTOPTIONS)
27 CPP=$(UTIL_HOME)/lib.bin/cpp
31 opt: $(OFILES) $(ONOGLOB) pattern.$(SUF) $(LIBS)
32 $(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(ONOGLOB) pattern.$(SUF) $(LIBS) -o opt
34 opt2: $(OFILES) $(OGLOB) pattern.$(SUF) $(LIBS)
35 $(CC) $(LDFLAGS) $(CFLAGS) $(OFILES) $(OGLOB) pattern.$(SUF) $(LIBS) -o opt2
41 -cmp opt $(TARGET_HOMTARGET_HOME)/lib.bin/em_opt
42 -cmp opt2 $(TARGET_HOME)/lib.bin/em_opt2
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) ; \
51 pattern.c: $(SRC_DIR)/patterns mktab
52 $(CPP) $(SRC_DIR)/patterns | mktab > pattern.c
54 mktab: mktab.$(USUF) $(ULIBS)
55 $(UCC) $(ULDFLAGS) mktab.$(USUF) $(ULIBS) -o mktab
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
60 mktab.c: $(SRC_DIR)/mktab.y
61 yacc $(SRC_DIR)/mktab.y && mv y.tab.c mktab.c
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
66 regglob.c: $(SRC_DIR)/reg.c
67 echo '#define GLOBAL_OPT' > regglob.c
68 cat $(SRC_DIR)/reg.c >> regglob.c
70 regnoglob.c: $(SRC_DIR)/reg.c
71 cp $(SRC_DIR)/reg.c regnoglob.c
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 ; \
80 mv Makefile Makefile.old
81 mv Makefile.new Makefile
83 lint: $(CFILES) pattern.c
84 $(LINT) $(LINTFLAGS) $(CFILES) pattern.c $(UTIL_HOME)/lib.bin/$(LINTPREF)em_data.$(LINTSUF)
90 @pr -n $(SRC_DIR)/proto.make $(SRC_DIR)/*.h $(CFILES) $(SRC_DIR)/mktab.y $(SRC_DIR)/scan.l $(SRC_DIR)/patterns
93 rm -f *.$(SUF) opt mktab mktab.c scan.c pattern.c opt2 Out \
94 pop_push.c regglob.c regnoglob.c *.old
96 scan.c: $(SRC_DIR)/scan.l
97 flex -st $(SRC_DIR)/scan.l > scan.c
99 # the next lines are generated automatically
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