aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code
diff options
context:
space:
mode:
Diffstat (limited to 'mps/code')
-rw-r--r--mps/code/comm.gmk107
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
273endif 273endif
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
284ifdef VARIETY 316ifdef 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