# 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:
#   $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 ...)
#
# Input config fragments without '.config' suffix
define merge_into_defconfig
	$(call cmd,merge_fragments,$1,$2)
	+$(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
	$(call cmd,merge_fragments,$1,$2,-Q)
	+$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig
endef
