8292944: Noisy output when running make help the first time

Reviewed-by: erikj
This commit is contained in:
Magnus Ihse Bursie 2025-01-31 14:35:42 +00:00
parent bba6a8f0c1
commit fcd5ebc7e8
5 changed files with 19 additions and 7 deletions

View File

@ -47,6 +47,12 @@ include $(TOPDIR)/make/common/MakeBase.gmk
include $(TOPDIR)/make/InitSupport.gmk include $(TOPDIR)/make/InitSupport.gmk
include $(TOPDIR)/make/common/LogUtils.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) # Parse COMPARE_BUILD (for makefile development)
$(eval $(call ParseCompareBuild)) $(eval $(call ParseCompareBuild))

View File

@ -1483,6 +1483,7 @@ print-tests:
create-main-targets-include: create-main-targets-include:
$(call LogInfo, Generating main target list) $(call LogInfo, Generating main target list)
$(call MakeDir, $(MAKESUPPORT_OUTPUTDIR))
@$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \ @$(ECHO) ALL_MAIN_TARGETS := $(sort $(ALL_TARGETS)) > \
$(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk $(MAKESUPPORT_OUTPUTDIR)/main-targets.gmk

View File

@ -301,7 +301,8 @@ test-prebuilt:
# are always found and parsed, call FindTests.gmk stand alone once # are always found and parsed, call FindTests.gmk stand alone once
# before calling RunTests.gmk. # before calling RunTests.gmk.
@cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/common/FindTests.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 \ @cd $(TOPDIR) && $(MAKE) $(MAKE_ARGS) -f make/RunTests.gmk run-test \
TEST="$(TEST)" TEST="$(TEST)"

View File

@ -62,10 +62,11 @@ $(foreach root, $(JTREG_TESTROOTS), \
# Cache the expensive to calculate test names in a generated makefile. # Cache the expensive to calculate test names in a generated makefile.
FIND_TESTS_CACHE_FILE := $(MAKESUPPORT_OUTPUTDIR)/find-tests.gmk FIND_TESTS_CACHE_FILE := $(MAKESUPPORT_OUTPUTDIR)/find-tests.gmk
# If this file is deemed outdated, it will automatically get regenerated ifeq ($(GENERATE_FIND_TESTS_FILE), true)
# by this rule before being included below. # If this file is deemed outdated, it will automatically get regenerated
$(FIND_TESTS_CACHE_FILE): $(JTREG_ROOT_FILES) $(JTREG_GROUP_FILES) \ # by this rule before being included below.
$(TOPDIR)/test/make/TestMake.gmk $(FIND_TESTS_CACHE_FILE): $(JTREG_ROOT_FILES) $(JTREG_GROUP_FILES) \
$(TOPDIR)/test/make/TestMake.gmk
$(call MakeTargetDir) $(call MakeTargetDir)
( $(foreach root, $(JTREG_TESTROOTS), \ ( $(foreach root, $(JTREG_TESTROOTS), \
$(PRINTF) "\n$(root)_JTREG_TEST_GROUPS := " ; \ $(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) \ $(MAKE) -s --no-print-directory $(MAKE_ARGS) \
SPEC=$(SPEC) -f $(TOPDIR)/test/make/TestMake.gmk print-targets \ SPEC=$(SPEC) -f $(TOPDIR)/test/make/TestMake.gmk print-targets \
TARGETS_FILE=$@ TARGETS_FILE=$@
endif
-include $(FIND_TESTS_CACHE_FILE) -include $(FIND_TESTS_CACHE_FILE)

View File

@ -172,8 +172,9 @@ MODULE_DEPS_MAKEFILE := $(MAKESUPPORT_OUTPUTDIR)/module-deps.gmk
MODULE_INFOS := $(call FindAllModuleInfos, *) MODULE_INFOS := $(call FindAllModuleInfos, *)
$(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \ ifeq ($(GENERATE_MODULE_DEPS_FILE), true)
$(call DependOnVariable, MODULE_INFOS, $(MAKESUPPORT_OUTPUTDIR)/MODULE_INFOS.vardeps) $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \
$(call DependOnVariable, MODULE_INFOS, $(MAKESUPPORT_OUTPUTDIR)/MODULE_INFOS.vardeps)
$(call MakeTargetDir) $(call MakeTargetDir)
$(RM) $@ $(RM) $@
$(foreach m, $(MODULE_INFOS), \ $(foreach m, $(MODULE_INFOS), \
@ -206,6 +207,7 @@ $(MODULE_DEPS_MAKEFILE): $(MODULE_INFOS) \
printf(" %s", $$0) } \ printf(" %s", $$0) } \
END { printf("\n") }' $m \ END { printf("\n") }' $m \
) >> $@ $(NEWLINE)) ) >> $@ $(NEWLINE))
endif
-include $(MODULE_DEPS_MAKEFILE) -include $(MODULE_DEPS_MAKEFILE)