diff options
Diffstat (limited to 'mps/code')
| -rw-r--r-- | mps/code/comm.gmk | 107 |
1 files changed, 68 insertions, 39 deletions
diff --git a/mps/code/comm.gmk b/mps/code/comm.gmk index 3e24487f3d3..5d9d9c32ae8 100644 --- a/mps/code/comm.gmk +++ b/mps/code/comm.gmk | |||
| @@ -273,7 +273,39 @@ endif | |||
| 273 | endif | 273 | endif |
| 274 | 274 | ||
| 275 | 275 | ||
| 276 | # GENUINE TARGETS | 276 | # THE MPS LIBRARY |
| 277 | # | ||
| 278 | # The MPS library is built in two ways: | ||
| 279 | # | ||
| 280 | # 1. In the usual way, from a pile of object files compiled from their | ||
| 281 | # corresponding sources. | ||
| 282 | # | ||
| 283 | # 2. From mps.c, which effectively concatenates all the sources, allowing | ||
| 284 | # important global optimisation and inlining to occur. | ||
| 285 | # | ||
| 286 | # We mostly use the method (2), because it is fast to compile and execute. | ||
| 287 | # But we use method (1) for some varieties to ensure correctness of | ||
| 288 | # code (linkage errors are masked by (2)) and to maintain a correct list | ||
| 289 | # of source files in case method (1) won't work on some future constrained | ||
| 290 | # platform. | ||
| 291 | # | ||
| 292 | # %%VARIETY: Add a rule for how to build the MPS library for the variety | ||
| 293 | |||
| 294 | $(PFM)/we/mps.a: $(PFM)/we/mps.o | ||
| 295 | $(PFM)/hot/mps.a: $(PFM)/hot/mps.o | ||
| 296 | |||
| 297 | $(PFM)/di/mps.a: \ | ||
| 298 | $(MPMOBJ) $(AMCOBJ) $(AMSOBJ) $(AWLOBJ) $(LOOBJ) $(SNCOBJ) \ | ||
| 299 | $(MVFFOBJ) $(PLINTHOBJ) $(POOLNOBJ) | ||
| 300 | $(PFM)/cool/mps.a: \ | ||
| 301 | $(MPMOBJ) $(AMCOBJ) $(AMSOBJ) $(AWLOBJ) $(LOOBJ) $(SNCOBJ) \ | ||
| 302 | $(MVFFOBJ) $(PLINTHOBJ) $(POOLNOBJ) | ||
| 303 | $(PFM)/ti/mps.a: \ | ||
| 304 | $(MPMOBJ) $(AMCOBJ) $(AMSOBJ) $(AWLOBJ) $(LOOBJ) $(SNCOBJ) \ | ||
| 305 | $(MVFFOBJ) $(PLINTHOBJ) $(POOLNOBJ) | ||
| 306 | |||
| 307 | |||
| 308 | # OTHER GENUINE TARGETS | ||
| 277 | # | 309 | # |
| 278 | # Each line defines an executable or library target to be built and the | 310 | # Each line defines an executable or library target to be built and the |
| 279 | # object files it is built from. These lines add dependencies to the | 311 | # object files it is built from. These lines add dependencies to the |
| @@ -284,104 +316,104 @@ endif | |||
| 284 | ifdef VARIETY | 316 | ifdef VARIETY |
| 285 | 317 | ||
| 286 | $(PFM)/$(VARIETY)/finalcv: $(PFM)/$(VARIETY)/finalcv.o \ | 318 | $(PFM)/$(VARIETY)/finalcv: $(PFM)/$(VARIETY)/finalcv.o \ |
| 287 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 319 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 288 | 320 | ||
| 289 | $(PFM)/$(VARIETY)/finaltest: $(PFM)/$(VARIETY)/finaltest.o \ | 321 | $(PFM)/$(VARIETY)/finaltest: $(PFM)/$(VARIETY)/finaltest.o \ |
| 290 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 322 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 291 | 323 | ||
| 292 | $(PFM)/$(VARIETY)/expt825: $(PFM)/$(VARIETY)/expt825.o \ | 324 | $(PFM)/$(VARIETY)/expt825: $(PFM)/$(VARIETY)/expt825.o \ |
| 293 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 325 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 294 | 326 | ||
| 295 | $(PFM)/$(VARIETY)/locv: $(PFM)/$(VARIETY)/locv.o \ | 327 | $(PFM)/$(VARIETY)/locv: $(PFM)/$(VARIETY)/locv.o \ |
| 296 | $(MPMOBJ) $(PLINTHOBJ) $(LOOBJ) $(TESTLIBOBJ) | 328 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 297 | 329 | ||
| 298 | $(PFM)/$(VARIETY)/mpmss: $(PFM)/$(VARIETY)/mpmss.o \ | 330 | $(PFM)/$(VARIETY)/mpmss: $(PFM)/$(VARIETY)/mpmss.o \ |
| 299 | $(MPMOBJ) $(PLINTHOBJ) $(MVFFOBJ) $(TESTLIBOBJ) | 331 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 300 | 332 | ||
| 301 | $(PFM)/$(VARIETY)/apss: $(PFM)/$(VARIETY)/apss.o \ | 333 | $(PFM)/$(VARIETY)/apss: $(PFM)/$(VARIETY)/apss.o \ |
| 302 | $(MPMOBJ) $(PLINTHOBJ) $(MVFFOBJ) $(TESTLIBOBJ) | 334 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 303 | 335 | ||
| 304 | $(PFM)/$(VARIETY)/sacss: $(PFM)/$(VARIETY)/sacss.o \ | 336 | $(PFM)/$(VARIETY)/sacss: $(PFM)/$(VARIETY)/sacss.o \ |
| 305 | $(MPMOBJ) $(PLINTHOBJ) $(MVFFOBJ) $(TESTLIBOBJ) | 337 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 306 | 338 | ||
| 307 | $(PFM)/$(VARIETY)/bttest: $(PFM)/$(VARIETY)/bttest.o \ | 339 | $(PFM)/$(VARIETY)/bttest: $(PFM)/$(VARIETY)/bttest.o \ |
| 308 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 340 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 309 | 341 | ||
| 310 | $(PFM)/$(VARIETY)/teletest: $(PFM)/$(VARIETY)/teletest.o \ | 342 | $(PFM)/$(VARIETY)/teletest: $(PFM)/$(VARIETY)/teletest.o \ |
| 311 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 343 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 312 | 344 | ||
| 313 | $(PFM)/$(VARIETY)/lockcov: $(PFM)/$(VARIETY)/lockcov.o \ | 345 | $(PFM)/$(VARIETY)/lockcov: $(PFM)/$(VARIETY)/lockcov.o \ |
| 314 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 346 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 315 | 347 | ||
| 316 | $(PFM)/$(VARIETY)/mpsicv: $(PFM)/$(VARIETY)/mpsicv.o \ | 348 | $(PFM)/$(VARIETY)/mpsicv: $(PFM)/$(VARIETY)/mpsicv.o \ |
| 317 | $(FMTDYTSTOBJ) $(FMTHETSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 349 | $(FMTDYTSTOBJ) $(FMTHETSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 318 | 350 | ||
| 319 | $(PFM)/$(VARIETY)/amcss: $(PFM)/$(VARIETY)/amcss.o \ | 351 | $(PFM)/$(VARIETY)/amcss: $(PFM)/$(VARIETY)/amcss.o \ |
| 320 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 352 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 321 | 353 | ||
| 322 | $(PFM)/$(VARIETY)/amcssth: $(PFM)/$(VARIETY)/amcssth.o \ | 354 | $(PFM)/$(VARIETY)/amcssth: $(PFM)/$(VARIETY)/amcssth.o \ |
| 323 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 355 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 324 | 356 | ||
| 325 | $(PFM)/$(VARIETY)/amcsshe: $(PFM)/$(VARIETY)/amcsshe.o \ | 357 | $(PFM)/$(VARIETY)/amcsshe: $(PFM)/$(VARIETY)/amcsshe.o \ |
| 326 | $(FMTHETSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 358 | $(FMTHETSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 327 | 359 | ||
| 328 | $(PFM)/$(VARIETY)/amsss: $(PFM)/$(VARIETY)/amsss.o \ | 360 | $(PFM)/$(VARIETY)/amsss: $(PFM)/$(VARIETY)/amsss.o \ |
| 329 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMSOBJ) $(TESTLIBOBJ) | 361 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 330 | 362 | ||
| 331 | $(PFM)/$(VARIETY)/amssshe: $(PFM)/$(VARIETY)/amssshe.o \ | 363 | $(PFM)/$(VARIETY)/amssshe: $(PFM)/$(VARIETY)/amssshe.o \ |
| 332 | $(FMTHETSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMSOBJ) $(TESTLIBOBJ) | 364 | $(FMTHETSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 333 | 365 | ||
| 334 | $(PFM)/$(VARIETY)/segsmss: $(PFM)/$(VARIETY)/segsmss.o \ | 366 | $(PFM)/$(VARIETY)/segsmss: $(PFM)/$(VARIETY)/segsmss.o \ |
| 335 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMSOBJ) $(TESTLIBOBJ) | 367 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 336 | 368 | ||
| 337 | $(PFM)/$(VARIETY)/awlut: $(PFM)/$(VARIETY)/awlut.o \ | 369 | $(PFM)/$(VARIETY)/awlut: $(PFM)/$(VARIETY)/awlut.o \ |
| 338 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(LOOBJ) $(AWLOBJ) $(TESTLIBOBJ) | 370 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 339 | 371 | ||
| 340 | $(PFM)/$(VARIETY)/awluthe: $(PFM)/$(VARIETY)/awluthe.o \ | 372 | $(PFM)/$(VARIETY)/awluthe: $(PFM)/$(VARIETY)/awluthe.o \ |
| 341 | $(FMTHETSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(LOOBJ) $(AWLOBJ) $(TESTLIBOBJ) | 373 | $(FMTHETSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 342 | 374 | ||
| 343 | $(PFM)/$(VARIETY)/awlutth: $(PFM)/$(VARIETY)/awlutth.o \ | 375 | $(PFM)/$(VARIETY)/awlutth: $(PFM)/$(VARIETY)/awlutth.o \ |
| 344 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(LOOBJ) $(AWLOBJ) $(TESTLIBOBJ) | 376 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 345 | 377 | ||
| 346 | $(PFM)/$(VARIETY)/poolncv: $(PFM)/$(VARIETY)/poolncv.o \ | 378 | $(PFM)/$(VARIETY)/poolncv: $(PFM)/$(VARIETY)/poolncv.o \ |
| 347 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) $(POOLNOBJ) | 379 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 348 | 380 | ||
| 349 | $(PFM)/$(VARIETY)/qs: $(PFM)/$(VARIETY)/qs.o \ | 381 | $(PFM)/$(VARIETY)/qs: $(PFM)/$(VARIETY)/qs.o \ |
| 350 | $(AMCOBJ) $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 382 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 351 | 383 | ||
| 352 | $(PFM)/$(VARIETY)/arenacv: $(PFM)/$(VARIETY)/arenacv.o \ | 384 | $(PFM)/$(VARIETY)/arenacv: $(PFM)/$(VARIETY)/arenacv.o \ |
| 353 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 385 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 354 | 386 | ||
| 355 | $(PFM)/$(VARIETY)/abqtest: $(PFM)/$(VARIETY)/abqtest.o \ | 387 | $(PFM)/$(VARIETY)/abqtest: $(PFM)/$(VARIETY)/abqtest.o \ |
| 356 | $(PFM)/$(VARIETY)/abq.o $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 388 | $(PFM)/$(VARIETY)/abq.o $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 357 | 389 | ||
| 358 | $(PFM)/$(VARIETY)/cbstest: $(PFM)/$(VARIETY)/cbstest.o \ | 390 | $(PFM)/$(VARIETY)/cbstest: $(PFM)/$(VARIETY)/cbstest.o \ |
| 359 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 391 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 360 | 392 | ||
| 361 | $(PFM)/$(VARIETY)/btcv: $(PFM)/$(VARIETY)/btcv.o \ | 393 | $(PFM)/$(VARIETY)/btcv: $(PFM)/$(VARIETY)/btcv.o \ |
| 362 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 394 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 363 | 395 | ||
| 364 | $(PFM)/$(VARIETY)/mv2test: $(PFM)/$(VARIETY)/mv2test.o \ | 396 | $(PFM)/$(VARIETY)/mv2test: $(PFM)/$(VARIETY)/mv2test.o \ |
| 365 | $(PFM)/$(VARIETY)/poolmv2.o $(PFM)/$(VARIETY)/abq.o \ | 397 | $(PFM)/$(VARIETY)/poolmv2.o $(PFM)/$(VARIETY)/abq.o \ |
| 366 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 398 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 367 | 399 | ||
| 368 | $(PFM)/$(VARIETY)/messtest: $(PFM)/$(VARIETY)/messtest.o \ | 400 | $(PFM)/$(VARIETY)/messtest: $(PFM)/$(VARIETY)/messtest.o \ |
| 369 | $(MPMOBJ) $(PLINTHOBJ) $(TESTLIBOBJ) | 401 | $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 370 | 402 | ||
| 371 | $(PFM)/$(VARIETY)/steptest: $(PFM)/$(VARIETY)/steptest.o \ | 403 | $(PFM)/$(VARIETY)/steptest: $(PFM)/$(VARIETY)/steptest.o \ |
| 372 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 404 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 373 | 405 | ||
| 374 | $(PFM)/$(VARIETY)/walkt0: $(PFM)/$(VARIETY)/walkt0.o \ | 406 | $(PFM)/$(VARIETY)/walkt0: $(PFM)/$(VARIETY)/walkt0.o \ |
| 375 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 407 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 376 | 408 | ||
| 377 | $(PFM)/$(VARIETY)/exposet0: $(PFM)/$(VARIETY)/exposet0.o \ | 409 | $(PFM)/$(VARIETY)/exposet0: $(PFM)/$(VARIETY)/exposet0.o \ |
| 378 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 410 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 379 | 411 | ||
| 380 | $(PFM)/$(VARIETY)/zcoll: $(PFM)/$(VARIETY)/zcoll.o \ | 412 | $(PFM)/$(VARIETY)/zcoll: $(PFM)/$(VARIETY)/zcoll.o \ |
| 381 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 413 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 382 | 414 | ||
| 383 | $(PFM)/$(VARIETY)/zmess: $(PFM)/$(VARIETY)/zmess.o \ | 415 | $(PFM)/$(VARIETY)/zmess: $(PFM)/$(VARIETY)/zmess.o \ |
| 384 | $(FMTDYTSTOBJ) $(MPMOBJ) $(PLINTHOBJ) $(AMCOBJ) $(TESTLIBOBJ) | 416 | $(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a |
| 385 | 417 | ||
| 386 | $(PFM)/$(VARIETY)/eventcnv: $(PFM)/$(VARIETY)/eventcnv.o \ | 418 | $(PFM)/$(VARIETY)/eventcnv: $(PFM)/$(VARIETY)/eventcnv.o \ |
| 387 | $(PFM)/$(VARIETY)/eventpro.o $(PFM)/$(VARIETY)/table.o | 419 | $(PFM)/$(VARIETY)/eventpro.o $(PFM)/$(VARIETY)/table.o |
| @@ -389,10 +421,7 @@ $(PFM)/$(VARIETY)/eventcnv: $(PFM)/$(VARIETY)/eventcnv.o \ | |||
| 389 | $(PFM)/$(VARIETY)/replay: $(PFM)/$(VARIETY)/replay.o \ | 421 | $(PFM)/$(VARIETY)/replay: $(PFM)/$(VARIETY)/replay.o \ |
| 390 | $(PFM)/$(VARIETY)/eventrep.o \ | 422 | $(PFM)/$(VARIETY)/eventrep.o \ |
| 391 | $(PFM)/$(VARIETY)/eventpro.o $(PFM)/$(VARIETY)/table.o \ | 423 | $(PFM)/$(VARIETY)/eventpro.o $(PFM)/$(VARIETY)/table.o \ |
| 392 | $(MPMOBJ) $(PLINTHOBJ) $(AWLOBJ) $(AMSOBJ) $(POOLNOBJ) \ | 424 | $(PFM)/$(VARIETY)/mps.a |
| 393 | $(AMCOBJ) $(SNCOBJ) $(MVFFOBJ) | ||
| 394 | |||
| 395 | $(PFM)/$(VARIETY)/mps.a: $(MPMOBJ) $(AMCOBJ) $(SNCOBJ) $(MVFFOBJ) | ||
| 396 | 425 | ||
| 397 | $(PFM)/$(VARIETY)/mpsplan.a: $(PLINTHOBJ) | 426 | $(PFM)/$(VARIETY)/mpsplan.a: $(PLINTHOBJ) |
| 398 | 427 | ||
| @@ -466,7 +495,7 @@ $(PFM)/$(VARIETY)/%.a: | |||
| 466 | 495 | ||
| 467 | $(PFM)/$(VARIETY)/%: | 496 | $(PFM)/$(VARIETY)/%: |
| 468 | $(ECHO) "$(PFM): $@" | 497 | $(ECHO) "$(PFM): $@" |
| 469 | $(CC) $(CFLAGS) $(LINKFLAGS) -o $@ $^ version.c $(LIBS) | 498 | $(CC) $(CFLAGS) $(LINKFLAGS) -o $@ $^ $(LIBS) |
| 470 | 499 | ||
| 471 | 500 | ||
| 472 | # C. COPYRIGHT AND LICENSE | 501 | # C. COPYRIGHT AND LICENSE |