From 71fbe92c2e320363871af38774163358528cca6f Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Fri, 9 Feb 2024 17:15:53 +0100 Subject: [PATCH] mk: Allow parallel execution * lisp/Makefile (.NOTPARALLEL): Do not suppress parallel execution. (all compile compile-dirty): (compile-single): (compile-native): (compile-source): (compile-slint1): (compile-slint2): Explicitly declare prerequisites that must be run sequentially. * mk/targets.mk (.NOTPARALLEL): Do not suppress parallel execution. (uncompiled): (update update2): (repro): Explicitly declare prerequisites that must be run sequentially. --- lisp/Makefile | 13 ++++++------- mk/targets.mk | 7 +++---- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lisp/Makefile b/lisp/Makefile index c57095f65..c570d9cfa 100644 --- a/lisp/Makefile +++ b/lisp/Makefile @@ -1,4 +1,3 @@ -.NOTPARALLEL: # always run this make serially .SUFFIXES: # we don't need default suffix rules ifeq ($(MAKELEVEL), 0) $(error This make needs to be started as a sub-make from the toplevel directory.) @@ -20,7 +19,7 @@ _ORGCM_ := dirall single native source slint1 slint2 install clean cleanauto cleanall cleanelc clean-install # do not clean here, done in toplevel make -all compile compile-dirty:: autoloads +all compile compile-dirty:: | autoloads ifeq ($(filter-out $(_ORGCM_),$(ORGCM)),) $(MAKE) compile-$(ORGCM) else @@ -28,11 +27,11 @@ else endif compile-dirall: dirall -compile-single: single $(LISPC) -compile-native: native $(LISPN) -compile-source: source dirall -compile-slint1: dirall slint1 -compile-slint2: source dirall slint1 +compile-single: $(LISPC) | single +compile-native: $(LISPN) | native +compile-source: | source dirall +compile-slint1: | dirall slint1 +compile-slint2: | source dirall slint1 # internal dirall: diff --git a/mk/targets.mk b/mk/targets.mk index 22f1f6e6d..de849c4fb 100644 --- a/mk/targets.mk +++ b/mk/targets.mk @@ -1,5 +1,4 @@ .EXPORT_ALL_VARIABLES: -.NOTPARALLEL: .PHONY # Additional distribution files DISTFILES_extra= Makefile etc @@ -67,9 +66,9 @@ config config-test config-exe config-all config-version:: @echo "" oldorg: compile info # what the old makefile did when no target was specified -uncompiled: cleanlisp autoloads # for developing +uncompiled: | cleanlisp autoloads # for developing refcard: card -update update2:: up0 all +update update2:: | up0 all single: ORGCM=single single: compile @@ -129,7 +128,7 @@ $(INSTSUB): autoloads: lisp $(MAKE) -C $< $@ -repro: cleanall autoloads +repro: | cleanall autoloads -@$(REPRO) & cleandirs: