kbuild: suppress stdout from merge_config for silent builds
authorMasahiro Yamada <masahiroy@kernel.org>
Tue, 10 Dec 2024 10:24:41 +0000 (19:24 +0900)
committerMasahiro Yamada <masahiroy@kernel.org>
Fri, 10 Jan 2025 14:01:21 +0000 (23:01 +0900)
merge_config does not respect the Make's -s (--silent) option.

Let's sink the stdout from merge_config for silent builds.

This commit does not cater to the direct invocation of merge_config.sh
(e.g. arch/mips/Makefile).

Reported-by: Leon Romanovsky <leon@kernel.org>
Closes: https://lore.kernel.org/all/e534ce33b0e1060eb85ece8429810f087b034c88.1733234008.git.leonro@nvidia.com/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Tested-by: Leon Romanovsky <leon@kernel.org>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
scripts/Makefile.defconf
scripts/kconfig/Makefile

index 226ea3df3b4b4caf70a8b7cc1c7ead71def9af7c..a44307f08e9d686242f56e79b553db4cbce55e93 100644 (file)
@@ -1,6 +1,11 @@
 # SPDX-License-Identifier: GPL-2.0
 # Configuration heplers
 
+cmd_merge_fragments = \
+       $(srctree)/scripts/kconfig/merge_config.sh \
+       $4 -m -O $(objtree) $(srctree)/arch/$(SRCARCH)/configs/$2 \
+       $(foreach config,$3,$(srctree)/arch/$(SRCARCH)/configs/$(config).config)
+
 # Creates 'merged defconfigs'
 # ---------------------------------------------------------------------------
 # Usage:
@@ -8,9 +13,7 @@
 #
 # Input config fragments without '.config' suffix
 define merge_into_defconfig
-       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
-               -m -O $(objtree) $(srctree)/arch/$(SRCARCH)/configs/$(1) \
-               $(foreach config,$(2),$(srctree)/arch/$(SRCARCH)/configs/$(config).config)
+       $(call cmd,merge_fragments,$1,$2)
        +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
 endef
 
@@ -22,8 +25,6 @@ endef
 #
 # Input config fragments without '.config' suffix
 define merge_into_defconfig_override
-       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \
-               -Q -m -O $(objtree) $(srctree)/arch/$(SRCARCH)/configs/$(1) \
-               $(foreach config,$(2),$(srctree)/arch/$(SRCARCH)/configs/$(config).config)
+       $(call cmd,merge_fragments,$1,$2,-Q)
        +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
 endef
index a0a0be38cbdc14a4b617eff7e7719f844eca9224..fb50bd4f4103f2e058ed04d48602ac7d03ca69b6 100644 (file)
@@ -105,9 +105,11 @@ configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARC
 all-config-fragments = $(call configfiles,*.config)
 config-fragments = $(call configfiles,$@)
 
+cmd_merge_fragments = $(srctree)/scripts/kconfig/merge_config.sh -m $(KCONFIG_CONFIG) $(config-fragments)
+
 %.config: $(obj)/conf
        $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture))
-       $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m $(KCONFIG_CONFIG) $(config-fragments)
+       $(call cmd,merge_fragments)
        $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
 
 PHONY += tinyconfig