scripts/Makefile.defconf | 13 +++++++------ scripts/kconfig/Makefile | 4 +++- 2 files changed, 10 insertions(+), 7 deletions(-)
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>
---
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
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 >
© 2016 - 2025 Red Hat, Inc.