From fcd5ebc7e8964c7936c0eede031cb6193621f5fb Mon Sep 17 00:00:00 2001 From: Magnus Ihse Bursie Date: Fri, 31 Jan 2025 14:35:42 +0000 Subject: [PATCH] 8292944: Noisy output when running make help the first time Reviewed-by: erikj --- make/Init.gmk | 6 ++++++ make/Main.gmk | 1 + make/RunTestsPrebuilt.gmk | 3 ++- make/common/FindTests.gmk | 10 ++++++---- make/common/Modules.gmk | 6 ++++-- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/make/Init.gmk b/make/Init.gmk index 2e71319c9a8..5a10f42482f 100644 --- a/make/Init.gmk +++ b/make/Init.gmk @@ -47,6 +47,12 @@ include $(TOPDIR)/make/common/MakeBase.gmk include $(TOPDIR)/make/InitSupport.gmk include $(TOPDIR)/make/common/LogUtils.gmk +# Force early generation of module-deps.gmk and find-tests.gmk +GENERATE_MODULE_DEPS_FILE := true +include $(TOPDIR)/make/common/Modules.gmk +GENERATE_FIND_TESTS_FILE := true +include $(TOPDIR)/make/common/FindTests.gmk + # Parse COMPARE_BUILD (for makefile development) $(eval $(call ParseCompareBuild)) diff --git a/make/Main.gmk b/make/Main.gmk index 79b2932439c..e49db6e78a2 100644 --- a/make/Main.gmk +++ b/make/Main.gmk @@ -1483,6 +1483,7 @@ print-tests: create-main-targets-include: $(call LogInfo, Generating main target list) + $(call MakeDir, $(MAKESUPPORT_OUTPUTDIR)) @$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \ $(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk diff --git a/make/RunTestsPrebuilt.gmk b/make/RunTestsPrebuilt.gmk index f8d788fe0f0..3bfcebd4be4 100644 --- a/make/RunTestsPrebuilt.gmk +++ b/make/RunTestsPrebuilt.gmk @@ -301,7 +301,8 @@ test-prebuilt: # are always found and parsed, call FindTests.gmk stand alone once # before calling RunTests.gmk. @cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/common/FindTests.gmk \ - SPEC=$(SPEC) FINDTESTS_STAND_ALONE=true + SPEC=$(SPEC) FINDTESTS_STAND_ALONE=true \ + GENERATE_FIND_TESTS_FILE=true @cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \ TEST="$(TEST)" diff --git a/make/common/FindTests.gmk b/make/common/FindTests.gmk index db9cfe774de..5dfe49e5901 100644 --- a/make/common/FindTests.gmk +++ b/make/common/FindTests.gmk @@ -62,10 +62,11 @@ $(foreach root, $(JTREG_TESTROOTS), \ # Cache the expensive to calculate test names in a generated makefile. FIND_TESTS_CACHE_FILE := $(MAKESUPPORT_OUTPUTDIR)/find-tests.gmk -# If this file is deemed outdated, it will automatically get regenerated -# by this rule before being included below. -$(FIND_TESTS_CACHE_FILE): $(JTREG_ROOT_FILES) $(JTREG_GROUP_FILES) \ - $(TOPDIR)/test/make/TestMake.gmk +ifeq ($(GENERATE_FIND_TESTS_FILE), true) + # If this file is deemed outdated, it will automatically get regenerated + # by this rule before being included below. + $(FIND_TESTS_CACHE_FILE): $(JTREG_ROOT_FILES) $(JTREG_GROUP_FILES) \ + $(TOPDIR)/test/make/TestMake.gmk $(call MakeTargetDir) ( $(foreach root, $(JTREG_TESTROOTS), \ $(PRINTF) "\n$(root)_JTREG_TEST_GROUPS := " ; \ @@ -78,6 +79,7 @@ $(FIND_TESTS_CACHE_FILE): $(JTREG_ROOT_FILES) $(JTREG_GROUP_FILES) \ $(MAKE) -s --no-print-directory $(MAKE_ARGS) \ SPEC=$(SPEC) -f $(TOPDIR)/test/make/TestMake.gmk print-targets \ TARGETS_FILE=$@ +endif -include $(FIND_TESTS_CACHE_FILE) diff --git a/make/common/Modules.gmk b/make/common/Modules.gmk index c8c78ed8041..4fc0288f251 100644 --- a/make/common/Modules.gmk +++ b/make/common/Modules.gmk @@ -172,8 +172,9 @@ MODULE_DEPS_MAKEFILE := $(MAKESUPPORT_OUTPUTDIR)/module-deps.gmk MODULE_INFOS := $(call FindAllModuleInfos, *) -$(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \ - $(call DependOnVariable, MODULE_INFOS, $(MAKESUPPORT_OUTPUTDIR)/MODULE_INFOS.vardeps) +ifeq ($(GENERATE_MODULE_DEPS_FILE), true) + $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \ + $(call DependOnVariable, MODULE_INFOS, $(MAKESUPPORT_OUTPUTDIR)/MODULE_INFOS.vardeps) $(call MakeTargetDir) $(RM) $@ $(foreach m, $(MODULE_INFOS), \ @@ -206,6 +207,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \ printf(" %s", $$0) } \ END { printf("\n") }' $m \ ) >> $@ $(NEWLINE)) +endif -include $(MODULE_DEPS_MAKEFILE)