$(2)_KCONFIG_OPTS ?=
$(2)_KCONFIG_FIXUP_CMDS ?=
$(2)_KCONFIG_FRAGMENT_FILES ?=
+$(2)_KCONFIG_DOTCONFIG ?= .config
# The config file as well as the fragments could be in-tree, so before
# depending on them the package should be extracted (and patched) first.
# fragments are merged together to .config, after the package has been patched.
# Since the file could be a defconfig file it needs to be expanded to a
# full .config first.
-$$($(2)_DIR)/.config: $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES)
+$$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG): $$($(2)_KCONFIG_FILE) $$($(2)_KCONFIG_FRAGMENT_FILES)
$$(Q)$$(if $$($(2)_KCONFIG_DEFCONFIG), \
$$($(2)_KCONFIG_MAKE) $$($(2)_KCONFIG_DEFCONFIG), \
- cp $$($(2)_KCONFIG_FILE) $$(@))
+ $$(INSTALL) -m 0644 -D $$($(2)_KCONFIG_FILE) $$(@))
$$(Q)support/kconfig/merge_config.sh -m -O $$(@D) \
$$(@) $$($(2)_KCONFIG_FRAGMENT_FILES)
$$($(2)_REGEN_DOT_CONFIG)
# If _KCONFIG_FILE or _KCONFIG_FRAGMENT_FILES exists, this dependency is
# already implied, but if we only have a _KCONFIG_DEFCONFIG we have to add
# it explicitly. It doesn't hurt to always have it though.
-$$($(2)_DIR)/.config: | $(1)-patch
+$$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG): | $(1)-patch
# In order to get a usable, consistent configuration, some fixup may be needed.
# The exact rules are specified by the package .mk file.
$$(Q)touch $$($(2)_DIR)/.stamp_kconfig_fixup_done
endef
-$$($(2)_DIR)/.stamp_kconfig_fixup_done: $$($(2)_DIR)/.config
+$$($(2)_DIR)/.stamp_kconfig_fixup_done: $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG)
$$($(2)_FIXUP_DOT_CONFIG)
# Before running configure, the configuration file should be present and fixed
echo "Unable to perform $(1)-update-config when fragment files are set"; exit 1)
@$$(if $$($(2)_KCONFIG_DEFCONFIG), \
echo "Unable to perform $(1)-update-config when using a defconfig rule"; exit 1)
- cp -f $$($(2)_DIR)/.config $$($(2)_KCONFIG_FILE)
- touch --reference $$($(2)_DIR)/.config $$($(2)_KCONFIG_FILE)
+ cp -f $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE)
+ touch --reference $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE)
# Note: make sure the timestamp of the stored configuration is not newer than
# the .config to avoid a useless rebuild. Note that, contrary to
@$$(if $$($(2)_KCONFIG_DEFCONFIG), \
echo "Unable to perform $(1)-update-defconfig when using a defconfig rule"; exit 1)
cp -f $$($(2)_DIR)/defconfig $$($(2)_KCONFIG_FILE)
- touch --reference $$($(2)_DIR)/.config $$($(2)_KCONFIG_FILE)
+ touch --reference $$($(2)_DIR)/$$($(2)_KCONFIG_DOTCONFIG) $$($(2)_KCONFIG_FILE)
endif # package enabled