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