kbuild: suppress stdout from merge_config for silent builds

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>
This commit is contained in:
Masahiro Yamada 2024-12-10 19:24:41 +09:00
parent 5410b2c232
commit 8f2db654f7
2 changed files with 10 additions and 7 deletions

View 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

View 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