Powerpc fix for gdb.base/ending-run.exp
[binutils-gdb.git] / sim / mips / Makefile.in
1 # Makefile template for Configure for the MIPS simulator.
2 # Written by Cygnus Support.
3
4 ## COMMON_PRE_CONFIG_FRAG
5
6 # Object files created by various simulator generators.
7
8
9 SIM_IGEN_OBJ = \
10 support.o \
11 itable.o \
12 semantics.o \
13 idecode.o \
14 icache.o \
15 engine.o \
16 irun.o \
17
18
19 SIM_M16_OBJ = \
20 m16_support.o \
21 m16_semantics.o \
22 m16_idecode.o \
23 m16_icache.o \
24 \
25 m32_support.o \
26 m32_semantics.o \
27 m32_idecode.o \
28 m32_icache.o \
29 \
30 itable.o \
31 m16run.o \
32
33 SIM_MICROMIPS_OBJ = \
34 micromips16_support.o \
35 micromips16_semantics.o \
36 micromips16_idecode.o \
37 micromips16_icache.o \
38 \
39 micromips32_support.o \
40 micromips32_semantics.o \
41 micromips32_idecode.o \
42 micromips32_icache.o \
43 \
44 micromips_m32_support.o \
45 micromips_m32_semantics.o \
46 micromips_m32_idecode.o \
47 micromips_m32_icache.o \
48 \
49 itable.o \
50 micromipsrun.o \
51
52
53 SIM_MULTI_OBJ = @sim_multi_obj@ \
54 itable.o \
55 multi-run.o \
56
57 SIM_OBJS = \
58 interp.o \
59 $(SIM_@sim_gen@_OBJ) \
60 $(SIM_NEW_COMMON_OBJS) \
61 cp1.o \
62 mdmx.o \
63 dsp.o \
64 sim-main.o \
65 sim-resume.o \
66
67 SIM_EXTRA_HW_DEVICES = tx3904cpu tx3904irc tx3904tmr tx3904sio
68
69 # List of flags to always pass to $(CC).
70 SIM_SUBTARGET=@SIM_SUBTARGET@
71 SIM_EXTRA_CFLAGS = $(SIM_SUBTARGET)
72
73 SIM_EXTRA_CLEAN = clean-extra
74 SIM_EXTRA_DISTCLEAN = distclean-extra
75
76 all: $(SIM_@sim_gen@_ALL)
77
78 SIM_EXTRA_DEPS = itable.h
79
80 ## COMMON_POST_CONFIG_FRAG
81
82 IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries # -G trace-all
83 IGEN_INSN=$(srcdir)/mips.igen
84 IGEN_DC=$(srcdir)/mips.dc
85 M16_DC=$(srcdir)/m16.dc
86 MICROMIPS32_DC=$(srcdir)/micromips.dc
87 MICROMIPS16_DC=$(srcdir)/micromips16.dc
88 IGEN_INCLUDE=\
89 $(srcdir)/micromipsdsp.igen \
90 $(srcdir)/micromips.igen \
91 $(srcdir)/m16.igen \
92 $(srcdir)/m16e.igen \
93 $(srcdir)/mdmx.igen \
94 $(srcdir)/mips3d.igen \
95 $(srcdir)/sb1.igen \
96 $(srcdir)/tx.igen \
97 $(srcdir)/vr.igen \
98 $(srcdir)/dsp.igen \
99 $(srcdir)/dsp2.igen \
100 $(srcdir)/mips3264r2.igen \
101 $(srcdir)/mips3264r6.igen \
102
103 # NB: Since these can be built by a number of generators, care
104 # must be taken to ensure that they are only dependant on
105 # one of those generators.
106 BUILT_SRC_FROM_GEN = \
107 itable.h \
108 itable.c \
109
110 SIM_IGEN_ALL = tmp-igen
111 SIM_M16_ALL = tmp-m16
112 SIM_MICROMIPS_ALL = tmp-micromips
113 SIM_MULTI_ALL = tmp-multi
114
115 $(BUILT_SRC_FROM_GEN): $(SIM_@sim_gen@_ALL)
116
117
118
119 BUILT_SRC_FROM_IGEN = \
120 icache.h \
121 icache.c \
122 idecode.h \
123 idecode.c \
124 semantics.h \
125 semantics.c \
126 model.h \
127 model.c \
128 support.h \
129 support.c \
130 engine.h \
131 engine.c \
132 irun.c \
133
134 $(BUILT_SRC_FROM_IGEN): tmp-igen
135
136 tmp-igen: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE)
137 $(ECHO_IGEN) $(IGEN_RUN) \
138 $(IGEN_TRACE) \
139 -I $(srcdir) \
140 -Werror \
141 -Wnodiscard \
142 @sim_igen_flags@ \
143 -G gen-direct-access \
144 -G gen-zero-r0 \
145 -B 32 \
146 -H 31 \
147 -i $(IGEN_INSN) \
148 -o $(IGEN_DC) \
149 -x \
150 -n icache.h -hc tmp-icache.h \
151 -n icache.c -c tmp-icache.c \
152 -n semantics.h -hs tmp-semantics.h \
153 -n semantics.c -s tmp-semantics.c \
154 -n idecode.h -hd tmp-idecode.h \
155 -n idecode.c -d tmp-idecode.c \
156 -n model.h -hm tmp-model.h \
157 -n model.c -m tmp-model.c \
158 -n support.h -hf tmp-support.h \
159 -n support.c -f tmp-support.c \
160 -n itable.h -ht tmp-itable.h \
161 -n itable.c -t tmp-itable.c \
162 -n engine.h -he tmp-engine.h \
163 -n engine.c -e tmp-engine.c \
164 -n irun.c -r tmp-irun.c
165 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h icache.h
166 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c icache.c
167 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h idecode.h
168 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c idecode.c
169 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h semantics.h
170 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c semantics.c
171 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h model.h
172 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c model.c
173 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h support.h
174 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c support.c
175 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h
176 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c
177 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-engine.h engine.h
178 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-engine.c engine.c
179 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-irun.c irun.c
180 $(SILENCE) touch $@
181
182 BUILT_SRC_FROM_M16 = \
183 m16_icache.h \
184 m16_icache.c \
185 m16_idecode.h \
186 m16_idecode.c \
187 m16_semantics.h \
188 m16_semantics.c \
189 m16_model.h \
190 m16_model.c \
191 m16_support.h \
192 m16_support.c \
193 \
194 m32_icache.h \
195 m32_icache.c \
196 m32_idecode.h \
197 m32_idecode.c \
198 m32_semantics.h \
199 m32_semantics.c \
200 m32_model.h \
201 m32_model.c \
202 m32_support.h \
203 m32_support.c \
204
205 $(BUILT_SRC_FROM_M16): tmp-m16
206
207 tmp-m16: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE)
208 $(ECHO_IGEN) $(IGEN_RUN) \
209 $(IGEN_TRACE) \
210 -I $(srcdir) \
211 -Werror \
212 -Wnodiscard \
213 @sim_m16_flags@ \
214 -G gen-direct-access \
215 -G gen-zero-r0 \
216 -B 16 \
217 -H 15 \
218 -i $(IGEN_INSN) \
219 -o $(M16_DC) \
220 -P m16_ \
221 -x \
222 -n m16_icache.h -hc tmp-icache.h \
223 -n m16_icache.c -c tmp-icache.c \
224 -n m16_semantics.h -hs tmp-semantics.h \
225 -n m16_semantics.c -s tmp-semantics.c \
226 -n m16_idecode.h -hd tmp-idecode.h \
227 -n m16_idecode.c -d tmp-idecode.c \
228 -n m16_model.h -hm tmp-model.h \
229 -n m16_model.c -m tmp-model.c \
230 -n m16_support.h -hf tmp-support.h \
231 -n m16_support.c -f tmp-support.c \
232 #
233 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h m16_icache.h
234 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c m16_icache.c
235 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h m16_idecode.h
236 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c m16_idecode.c
237 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h m16_semantics.h
238 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c m16_semantics.c
239 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h m16_model.h
240 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c m16_model.c
241 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h m16_support.h
242 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c m16_support.c
243 $(ECHO_IGEN) $(IGEN_RUN) \
244 $(IGEN_TRACE) \
245 -I $(srcdir) \
246 -Werror \
247 -Wnodiscard \
248 @sim_igen_flags@ \
249 -G gen-direct-access \
250 -G gen-zero-r0 \
251 -B 32 \
252 -H 31 \
253 -i $(IGEN_INSN) \
254 -o $(IGEN_DC) \
255 -P m32_ \
256 -x \
257 -n m32_icache.h -hc tmp-icache.h \
258 -n m32_icache.c -c tmp-icache.c \
259 -n m32_semantics.h -hs tmp-semantics.h \
260 -n m32_semantics.c -s tmp-semantics.c \
261 -n m32_idecode.h -hd tmp-idecode.h \
262 -n m32_idecode.c -d tmp-idecode.c \
263 -n m32_model.h -hm tmp-model.h \
264 -n m32_model.c -m tmp-model.c \
265 -n m32_support.h -hf tmp-support.h \
266 -n m32_support.c -f tmp-support.c \
267 #
268 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h m32_icache.h
269 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c m32_icache.c
270 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h m32_idecode.h
271 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c m32_idecode.c
272 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h m32_semantics.h
273 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c m32_semantics.c
274 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h m32_model.h
275 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c m32_model.c
276 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h m32_support.h
277 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c m32_support.c
278 $(ECHO_IGEN) $(IGEN_RUN) \
279 $(IGEN_TRACE) \
280 -I $(srcdir) \
281 -Werror \
282 -Wnodiscard \
283 -Wnowidth \
284 @sim_igen_flags@ @sim_m16_flags@ \
285 -G gen-direct-access \
286 -G gen-zero-r0 \
287 -i $(IGEN_INSN) \
288 -n itable.h -ht tmp-itable.h \
289 -n itable.c -t tmp-itable.c \
290 #
291 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h
292 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c
293 $(SILENCE) touch $@
294
295 BUILT_SRC_FROM_MICROMIPS = \
296 micromips16_icache.h \
297 micromips16_icache.c \
298 micromips16_idecode.h \
299 micromips16_idecode.c \
300 micromips16_semantics.h \
301 micromips16_semantics.c \
302 micromips16_model.h \
303 micromips16_model.c \
304 micromips16_support.h \
305 micromips16_support.c \
306 \
307 micromips32_icache.h \
308 micromips32_icache.c \
309 micromips32_idecode.h \
310 micromips32_idecode.c \
311 micromips32_semantics.h \
312 micromips32_semantics.c \
313 micromips32_model.h \
314 micromips32_model.c \
315 micromips32_support.h \
316 micromips32_support.c \
317 \
318 micromips_m32_icache.h \
319 micromips_m32_icache.c \
320 micromips_m32_idecode.h \
321 micromips_m32_idecode.c \
322 micromips_m32_semantics.h \
323 micromips_m32_semantics.c \
324 micromips_m32_model.h \
325 micromips_m32_model.c \
326 micromips_m32_support.h \
327 micromips_m32_support.c \
328
329 $(BUILT_SRC_FROM_MICROMIPS): tmp-micromips
330
331 tmp-micromips: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE)
332 $(ECHO_IGEN) $(IGEN_RUN) \
333 $(IGEN_TRACE) \
334 -I $(srcdir) \
335 -Werror \
336 -Wnodiscard \
337 @sim_micromips16_flags@ \
338 -G gen-direct-access \
339 -G gen-zero-r0 \
340 -B 16 \
341 -H 15 \
342 -i $(IGEN_INSN) \
343 -o $(MICROMIPS16_DC) \
344 -P micromips16_ \
345 -x \
346 -n micromips16_icache.h -hc tmp-icache.h \
347 -n micromips16_icache.c -c tmp-icache.c \
348 -n micromips16_semantics.h -hs tmp-semantics.h \
349 -n micromips16_semantics.c -s tmp-semantics.c \
350 -n micromips16_idecode.h -hd tmp-idecode.h \
351 -n micromips16_idecode.c -d tmp-idecode.c \
352 -n micromips16_model.h -hm tmp-model.h \
353 -n micromips16_model.c -m tmp-model.c \
354 -n micromips16_support.h -hf tmp-support.h \
355 -n micromips16_support.c -f tmp-support.c \
356 #
357 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h micromips16_icache.h
358 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c micromips16_icache.c
359 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h micromips16_idecode.h
360 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c micromips16_idecode.c
361 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h micromips16_semantics.h
362 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c micromips16_semantics.c
363 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h micromips16_model.h
364 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c micromips16_model.c
365 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h micromips16_support.h
366 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c micromips16_support.c
367 $(ECHO_IGEN) $(IGEN_RUN) \
368 $(IGEN_TRACE) \
369 -I $(srcdir) \
370 -Werror \
371 -Wnodiscard \
372 @sim_micromips_flags@ \
373 -G gen-direct-access \
374 -G gen-zero-r0 \
375 -B 32 \
376 -H 31 \
377 -i $(IGEN_INSN) \
378 -o $(MICROMIPS32_DC) \
379 -P micromips32_ \
380 -x \
381 -n micromips32_icache.h -hc tmp-icache.h \
382 -n micromips32_icache.c -c tmp-icache.c \
383 -n micromips32_semantics.h -hs tmp-semantics.h \
384 -n micromips32_semantics.c -s tmp-semantics.c \
385 -n micromips32_idecode.h -hd tmp-idecode.h \
386 -n micromips32_idecode.c -d tmp-idecode.c \
387 -n micromips32_model.h -hm tmp-model.h \
388 -n micromips32_model.c -m tmp-model.c \
389 -n micromips32_support.h -hf tmp-support.h \
390 -n micromips32_support.c -f tmp-support.c \
391 #
392 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h micromips32_icache.h
393 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c micromips32_icache.c
394 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h micromips32_idecode.h
395 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c micromips32_idecode.c
396 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h micromips32_semantics.h
397 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c micromips32_semantics.c
398 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h micromips32_model.h
399 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c micromips32_model.c
400 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h micromips32_support.h
401 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c micromips32_support.c
402 $(ECHO_IGEN) $(IGEN_RUN) \
403 $(IGEN_TRACE) \
404 -I $(srcdir) \
405 -Werror \
406 -Wnodiscard \
407 @sim_igen_flags@ \
408 -G gen-direct-access \
409 -G gen-zero-r0 \
410 -B 32 \
411 -H 31 \
412 -i $(IGEN_INSN) \
413 -o $(IGEN_DC) \
414 -P micromips_m32_ \
415 -x \
416 -n micromips_m32_icache.h -hc tmp-icache.h \
417 -n micromips_m32_icache.c -c tmp-icache.c \
418 -n micromips_m32_semantics.h -hs tmp-semantics.h \
419 -n micromips_m32_semantics.c -s tmp-semantics.c \
420 -n micromips_m32_idecode.h -hd tmp-idecode.h \
421 -n micromips_m32_idecode.c -d tmp-idecode.c \
422 -n micromips_m32_model.h -hm tmp-model.h \
423 -n micromips_m32_model.c -m tmp-model.c \
424 -n micromips_m32_support.h -hf tmp-support.h \
425 -n micromips_m32_support.c -f tmp-support.c \
426 #
427 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.h micromips_m32_icache.h
428 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-icache.c micromips_m32_icache.c
429 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.h micromips_m32_idecode.h
430 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-idecode.c micromips_m32_idecode.c
431 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.h micromips_m32_semantics.h
432 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-semantics.c micromips_m32_semantics.c
433 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.h micromips_m32_model.h
434 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-model.c micromips_m32_model.c
435 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.h micromips_m32_support.h
436 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-support.c micromips_m32_support.c
437 $(ECHO_IGEN) $(IGEN_RUN) \
438 $(IGEN_TRACE) \
439 -I $(srcdir) \
440 -Werror \
441 -Wnodiscard \
442 -Wnowidth \
443 @sim_igen_flags@ @sim_micromips_flags@ @sim_micromips16_flags@\
444 -G gen-direct-access \
445 -G gen-zero-r0 \
446 -i $(IGEN_INSN) \
447 -n itable.h -ht tmp-itable.h \
448 -n itable.c -t tmp-itable.c \
449 #
450 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h
451 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c
452 $(SILENCE) touch $@
453
454 BUILT_SRC_FROM_MULTI = @sim_multi_src@
455 SIM_MULTI_IGEN_CONFIGS = @sim_multi_igen_configs@
456
457 $(BUILT_SRC_FROM_MULTI): tmp-multi
458 tmp-multi: tmp-mach-multi tmp-itable-multi tmp-run-multi
459 tmp-mach-multi: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE)
460 for t in $(SIM_MULTI_IGEN_CONFIGS); do \
461 p=`echo $${t} | sed -e 's/:.*//'` ; \
462 m=`echo $${t} | sed -e 's/.*:\(.*\):.*/\1/'` ; \
463 f=`echo $${t} | sed -e 's/.*://'` ; \
464 case $${p} in \
465 micromips16*) e="-B 16 -H 15 -o $(MICROMIPS16_DC) -F 16" ;; \
466 micromips32* | micromips64*) \
467 e="-B 32 -H 31 -o $(MICROMIPS32_DC) -F $${f}" ;; \
468 micromips_m32*) \
469 e="-B 32 -H 31 -o $(IGEN_DC) -F $${f}"; \
470 m="mips32r2,mips3d,mdmx,dsp,dsp2,smartmips" ;; \
471 micromips_m64*) \
472 e="-B 32 -H 31 -o $(IGEN_DC) -F $${f}"; \
473 m="mips64r2,mips3d,mdmx,dsp,dsp2,smartmips" ;; \
474 m16*) e="-B 16 -H 15 -o $(M16_DC) -F 16" ;; \
475 *) e="-B 32 -H 31 -o $(IGEN_DC) -F $${f}" ;; \
476 esac; \
477 $(IGEN_RUN) \
478 $(IGEN_TRACE) \
479 $${e} \
480 -I $(srcdir) \
481 -Werror \
482 -Wnodiscard \
483 -N 0 \
484 -M $${m} \
485 -G gen-direct-access \
486 -G gen-zero-r0 \
487 -i $(IGEN_INSN) \
488 -P $${p}_ \
489 -x \
490 -n $${p}_icache.h -hc tmp-icache.h \
491 -n $${p}_icache.c -c tmp-icache.c \
492 -n $${p}_semantics.h -hs tmp-semantics.h \
493 -n $${p}_semantics.c -s tmp-semantics.c \
494 -n $${p}_idecode.h -hd tmp-idecode.h \
495 -n $${p}_idecode.c -d tmp-idecode.c \
496 -n $${p}_model.h -hm tmp-model.h \
497 -n $${p}_model.c -m tmp-model.c \
498 -n $${p}_support.h -hf tmp-support.h \
499 -n $${p}_support.c -f tmp-support.c \
500 -n $${p}_engine.h -he tmp-engine.h \
501 -n $${p}_engine.c -e tmp-engine.c \
502 || exit; \
503 $(SHELL) $(srcdir)/../../move-if-change tmp-icache.h \
504 $${p}_icache.h ; \
505 $(SHELL) $(srcdir)/../../move-if-change tmp-icache.c \
506 $${p}_icache.c ; \
507 $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.h \
508 $${p}_idecode.h ; \
509 $(SHELL) $(srcdir)/../../move-if-change tmp-idecode.c \
510 $${p}_idecode.c ; \
511 $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.h \
512 $${p}_semantics.h ; \
513 $(SHELL) $(srcdir)/../../move-if-change tmp-semantics.c \
514 $${p}_semantics.c ; \
515 $(SHELL) $(srcdir)/../../move-if-change tmp-model.h \
516 $${p}_model.h ; \
517 $(SHELL) $(srcdir)/../../move-if-change tmp-model.c \
518 $${p}_model.c ; \
519 $(SHELL) $(srcdir)/../../move-if-change tmp-support.h \
520 $${p}_support.h ; \
521 $(SHELL) $(srcdir)/../../move-if-change tmp-support.c \
522 $${p}_support.c ; \
523 $(SHELL) $(srcdir)/../../move-if-change tmp-engine.h \
524 $${p}_engine.h ; \
525 $(SHELL) $(srcdir)/../../move-if-change tmp-engine.c \
526 $${p}_engine.c ; \
527 done
528 $(SILENCE) touch $@
529 tmp-itable-multi: $(IGEN_INSN) $(IGEN_DC) $(IGEN) $(IGEN_INCLUDE)
530 $(ECHO_IGEN) $(IGEN_RUN) \
531 $(IGEN_TRACE) \
532 -I $(srcdir) \
533 -Werror \
534 -Wnodiscard \
535 -Wnowidth \
536 -N 0 \
537 @sim_multi_flags@ \
538 -G gen-direct-access \
539 -G gen-zero-r0 \
540 -i $(IGEN_INSN) \
541 -n itable.h -ht tmp-itable.h \
542 -n itable.c -t tmp-itable.c \
543 #
544 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.h itable.h
545 $(SILENCE) $(SHELL) $(srcroot)/move-if-change tmp-itable.c itable.c
546 $(SILENCE) touch $@
547 tmp-run-multi: $(srcdir)/m16run.c $(srcdir)/micromipsrun.c
548 for t in $(SIM_MULTI_IGEN_CONFIGS); do \
549 case $${t} in \
550 m16*) \
551 m=`echo $${t} | sed -e 's/^m16//' -e 's/:.*//'`; \
552 sed < $(srcdir)/m16run.c > tmp-run \
553 -e "s/^sim_/m16$${m}_/" \
554 -e "/include/s/sim-engine/m16$${m}_engine/" \
555 -e "s/m16_/m16$${m}_/" \
556 -e "s/m32_/m32$${m}_/" ; \
557 $(SHELL) $(srcdir)/../../move-if-change tmp-run \
558 m16$${m}_run.c ; \
559 ;;\
560 micromips32*) \
561 m=`echo $${t} | sed -e 's/^micromips32//' -e 's/:.*//'`; \
562 sed < $(srcdir)/micromipsrun.c > tmp-run \
563 -e "s/^sim_/micromips32$${m}_/" \
564 -e "/include/s/sim-engine/micromips32$${m}_engine/" \
565 -e "s/micromips16_/micromips16$${m}_/" \
566 -e "s/micromips32_/micromips32$${m}_/" \
567 -e "s/m32_/m32$${m}_/" ; \
568 $(SHELL) $(srcdir)/../../move-if-change tmp-run \
569 micromips$${m}_run.c ; \
570 ;;\
571 micromips64*) \
572 m=`echo $${t} | sed -e 's/^micromips64//' -e 's/:.*//'`; \
573 sed < $(srcdir)/micromipsrun.c > tmp-run \
574 -e "s/^sim_/micromips64$${m}_/" \
575 -e "/include/s/sim-engine/micromips64$${m}_engine/" \
576 -e "s/micromips16_/micromips16$${m}_/" \
577 -e "s/micromips32_/micromips64$${m}_/" \
578 -e "s/m32_/m64$${m}_/" ; \
579 $(SHELL) $(srcdir)/../../move-if-change tmp-run \
580 micromips$${m}_run.c ; \
581 ;;\
582 esac \
583 done
584 $(SILENCE) touch $@
585
586 clean-extra:
587 rm -f $(BUILT_SRC_FROM_GEN)
588 rm -f $(BUILT_SRC_FROM_IGEN)
589 rm -f $(BUILT_SRC_FROM_M16)
590 rm -f $(BUILT_SRC_FROM_MICROMIPS)
591 rm -f $(BUILT_SRC_FROM_MULTI)
592 rm -f tmp-*
593 rm -f micromips16*.o micromips32*.o m16*.o m32*.o itable*.o
594
595 distclean-extra:
596 rm -f multi-include.h multi-run.c