@@ -12,12 +12,12 @@
################################################################################
# Macro to update back the custom (def)config file
+# Must only be called if $(PKG)_KCONFIG_FILE is set and $(PKG)_KCONFIG_DEFCONFIG)
+# is not set.
# $(1): file to copy from
define kconfig-package-update-config
@$(if $($(PKG)_KCONFIG_FRAGMENT_FILES), \
echo "Unable to perform $(@) when fragment files are set"; exit 1)
- @$(if $($(PKG)_KCONFIG_DEFCONFIG), \
- echo "Unable to perform $(@) when using a defconfig rule"; exit 1)
$(Q)if [ -d $($(PKG)_KCONFIG_FILE) ]; then \
echo "Unable to perform $(@) when $($(PKG)_KCONFIG_FILE) is a directory"; \
exit 1; \
@@ -285,12 +285,14 @@ $(1)-savedefconfig: $(1)-check-configuration-done
.PHONY: $(1)-savedefconfig
endif
+ifeq ($$($(2)_KCONFIG_DEFCONFIG),)
# Target to copy back the configuration to the source configuration file
# Even though we could use 'cp --preserve-timestamps' here, the separate
# cp and 'touch --reference' is used for symmetry with $(1)-update-defconfig.
$(1)-update-config: PKG=$(2)
$(1)-update-config: $(1)-check-configuration-done
$$(call kconfig-package-update-config,$$($(2)_KCONFIG_DOTCONFIG))
+.PHONY: $(1)-update-config
ifeq ($$($(2)_KCONFIG_SUPPORTS_DEFCONFIG),YES)
# Note: make sure the timestamp of the stored configuration is not newer than
@@ -303,6 +305,8 @@ $(1)-update-defconfig: $(1)-savedefconfig
.PHONY: $(1)-update-defconfig
endif
+endif
+
# Target to output differences between the configuration obtained via the
# defconfig + fragments (if any) and the current configuration.
# Note: it preserves the timestamp of the current configuration when moving it
@@ -320,7 +324,6 @@ $(1)-diff-config: $(1)-check-configuration-done
endif # package enabled
.PHONY: \
- $(1)-update-config \
$(1)-diff-config \
$(1)-check-configuration-done \
$$($(2)_DIR)/.kconfig_editor_% \
The foo-update-config and foo-update-defconfig targets only work if a custom config file was defined. Remove those targets entirely if they don't work to begin with. This was originally handled with an error condition in the kconfig-package-update-config macro. However, it makes more sense to simply remove the target if it anyway can't be used. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> --- package/pkg-kconfig.mk | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)