aboutsummaryrefslogtreecommitdiffstats
path: root/mps/code/comm.gmk
diff options
context:
space:
mode:
authorHelmut Eller2025-09-15 05:55:19 +0200
committerHelmut Eller2025-09-15 08:23:25 +0200
commita97f6d888fcb34b416a64724e67b7d7e77df6f68 (patch)
treeb2ffd06b74b884062633658e959ab6794e6b5ad5 /mps/code/comm.gmk
parentd15aa6aa44018014a37fcc91f10a6d82da6ddd05 (diff)
downloademacs-a97f6d888fcb34b416a64724e67b7d7e77df6f68.tar.gz
emacs-a97f6d888fcb34b416a64724e67b7d7e77df6f68.zip
Better support for parallel make
* mps/code/comm.gmk (LIB_TARGETS, TEST_TARGETS, EVENT_TARGETS) (TEST_SUITES, testmmqa): If VARIETY is not defined, then disable parallism with .NOTPARALLEL. Otherwise, avoid the recursive make with a static pattern rule. (clean-testansi, clean-testpollnone): New. * mps/Makefile.in (build-via-make): Invoke submake explicit VARIETY argument to allow more parallelism. (test-make-build): Use clean-testansi and clean-testpollnone.
Diffstat (limited to 'mps/code/comm.gmk')
-rw-r--r--mps/code/comm.gmk11
1 files changed, 7 insertions, 4 deletions
diff --git a/mps/code/comm.gmk b/mps/code/comm.gmk
index 05c73fb411a..cac85c4ee6a 100644
--- a/mps/code/comm.gmk
+++ b/mps/code/comm.gmk
@@ -363,13 +363,18 @@ testscheme: phony
363# These convenience targets allow one to type "make foo" to build target 363# These convenience targets allow one to type "make foo" to build target
364# foo in selected varieties (or none, for the latter rule). 364# foo in selected varieties (or none, for the latter rule).
365 365
366$(LIB_TARGETS) $(TEST_TARGETS) $(EVENT_TARGETS) $(TEST_SUITES) testmmqa: phony
367ifdef VARIETY 366ifdef VARIETY
368 $(MAKE) -f $(PFM).gmk TARGET=$@ variety 367$(LIB_TARGETS) $(TEST_TARGETS) $(EVENT_TARGETS) $(TEST_SUITES) testmmqa: \
368 %: $(PFM)/$(VARIETY)/% ;
369else 369else
370$(LIB_TARGETS) $(TEST_TARGETS) $(EVENT_TARGETS) $(TEST_SUITES) testmmqa:
370 $(MAKE) -f $(PFM).gmk TARGET=$@ target 371 $(MAKE) -f $(PFM).gmk TARGET=$@ target
372.NOTPARALLEL:
371endif 373endif
372 374
375# Targets for toplevel make
376clean-testansi: clean .WAIT testansi
377clean-testpollnone: clean .WAIT testpollnone
373 378
374# "clean" removes the directory containing the build results for the 379# "clean" removes the directory containing the build results for the
375# platform. 380# platform.
@@ -611,14 +616,12 @@ endif
611 616
612define run-cc-strict 617define run-cc-strict
613$(ECHO) "$(PFM): $@" 618$(ECHO) "$(PFM): $@"
614mkdir -p $(PFM)
615mkdir -p $(PFM)/$(VARIETY) 619mkdir -p $(PFM)/$(VARIETY)
616$(CC) $(CFLAGSSTRICT) -c -o $@ $< 620$(CC) $(CFLAGSSTRICT) -c -o $@ $<
617endef 621endef
618 622
619define run-cc-lax 623define run-cc-lax
620$(ECHO) "$(PFM): $@ - compiling with lax flags." 624$(ECHO) "$(PFM): $@ - compiling with lax flags."
621mkdir -p $(PFM)
622mkdir -p $(PFM)/$(VARIETY) 625mkdir -p $(PFM)/$(VARIETY)
623$(CC) $(CFLAGSLAX) -c -o $@ $< 626$(CC) $(CFLAGSLAX) -c -o $@ $<
624endef 627endef