Message ID | 20241210102442.3390267-1-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v2] kbuild: suppress stdout from merge_config for silent builds | expand |
On Tue, Dec 10, 2024 at 07:24:41PM +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@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> > --- > > Changes in v2: > - Remove CONFIG_SHELL from Makefile.defconf > > 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..a44307f08e9d 100644 > --- a/scripts/Makefile.defconf > +++ b/scripts/Makefile.defconf > @@ -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 > 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) > + > %.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 >
diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf index 226ea3df3b4b..a44307f08e9d 100644 --- a/scripts/Makefile.defconf +++ b/scripts/Makefile.defconf @@ -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 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) + %.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