# SPDX-License-Identifier: GPL-2.0
# Configuration heplers

# Creates 'merged defconfigs'
# ---------------------------------------------------------------------------
# Usage:
#   $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 ...)
#
# 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)
	+$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
endef


# Creates 'merged defconfigs without warning about overrides'
# ---------------------------------------------------------------------------
# Usage:
#   $(call merge_into_defconfig_override,base_config,config_fragment1 config_fragment2 ...)
#
# 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)
	+$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
endef
