On Sun, Dec 08, 2024 at 11:46:14PM +0900, Masahiro Yamada wrote: > 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@xxxxxxxxxx> > Closes: https://lore.kernel.org/all/e534ce33b0e1060eb85ece8429810f087b034c88.1733234008.git.leonro@xxxxxxxxxx/ > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > scripts/Makefile.defconf | 13 +++++++------ > scripts/kconfig/Makefile | 4 +++- > 2 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf > index 226ea3df3b4b..97bc5161d6bf 100644 > --- a/scripts/Makefile.defconf > +++ b/scripts/Makefile.defconf > @@ -1,6 +1,11 @@ > # SPDX-License-Identifier: GPL-2.0 > # Configuration heplers > > +cmd_merge_fragments = \ > + $(CONFIG_SHELL) $(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 > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile > index a0a0be38cbdc..fb50bd4f4103 100644 > --- a/scripts/kconfig/Makefile > +++ b/scripts/kconfig/Makefile > @@ -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) Did you mean to drop $(CONFIG_SHELL) here? I noticed you kept it in the other command. > + > %.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 > -- > 2.43.0 >