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 9SIM_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 19SIM_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 33SIM_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 53SIM_MULTI_OBJ = @sim_multi_obj@ \ 54 itable.o \ 55 multi-run.o \ 56 57SIM_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 67SIM_EXTRA_HW_DEVICES = tx3904cpu tx3904irc tx3904tmr tx3904sio 68 69# List of flags to always pass to $(CC). 70SIM_SUBTARGET=@SIM_SUBTARGET@ 71SIM_EXTRA_CFLAGS = $(SIM_SUBTARGET) 72 73SIM_EXTRA_CLEAN = clean-extra 74SIM_EXTRA_DISTCLEAN = distclean-extra 75 76all: $(SIM_@sim_gen@_ALL) 77 78SIM_EXTRA_DEPS = itable.h 79 80## COMMON_POST_CONFIG_FRAG 81 82IGEN_TRACE= # -G omit-line-numbers # -G trace-rule-selection -G trace-rule-rejection -G trace-entries # -G trace-all 83IGEN_INSN=$(srcdir)/mips.igen 84IGEN_DC=$(srcdir)/mips.dc 85M16_DC=$(srcdir)/m16.dc 86MICROMIPS32_DC=$(srcdir)/micromips.dc 87MICROMIPS16_DC=$(srcdir)/micromips16.dc 88IGEN_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. 106BUILT_SRC_FROM_GEN = \ 107 itable.h \ 108 itable.c \ 109 110SIM_IGEN_ALL = tmp-igen 111SIM_M16_ALL = tmp-m16 112SIM_MICROMIPS_ALL = tmp-micromips 113SIM_MULTI_ALL = tmp-multi 114 115$(BUILT_SRC_FROM_GEN): $(SIM_@sim_gen@_ALL) 116 117 118 119BUILT_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 136tmp-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 182BUILT_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 207tmp-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 295BUILT_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 331tmp-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 454BUILT_SRC_FROM_MULTI = @sim_multi_src@ 455SIM_MULTI_IGEN_CONFIGS = @sim_multi_igen_configs@ 456 457$(BUILT_SRC_FROM_MULTI): tmp-multi 458tmp-multi: tmp-mach-multi tmp-itable-multi tmp-run-multi 459tmp-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 $@ 529tmp-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 $@ 547tmp-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 586clean-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 595distclean-extra: 596 rm -f multi-include.h multi-run.c 597