kconfig infra: only provide foo-*config targets when the package is enabled
authorYann E. Morin <yann.morin.1998@free.fr>
Tue, 3 Feb 2015 14:21:45 +0000 (15:21 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 14 Feb 2015 15:37:11 +0000 (16:37 +0100)
Signed-off-by: "Yann E. Morin" <yann.morin.1998@free.fr>
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/pkg-kconfig.mk

index 8e6831521ae6d1839d0efe3ac68a183dd2bfca97..04ac37df42fd8e66eb168fb0d10f468e8febc144 100644 (file)
@@ -66,6 +66,12 @@ $$($(2)_DIR)/.stamp_kconfig_fixup_done: $$($(2)_DIR)/.config
 # Before running configure, the configuration file should be present and fixed
 $$($(2)_TARGET_CONFIGURE): $$($(2)_DIR)/.stamp_kconfig_fixup_done
 
+# Only enable the foo-*config targets when the package is actually enabled.
+# Note: the variable $(2)_KCONFIG_VAR is not related to the kconfig
+# infrastructure, but defined by pkg-generic.mk. The generic infrastructure is
+# already called above, so we can effectively use this variable.
+ifeq ($$($$($(2)_KCONFIG_VAR)),y)
+
 # Configuration editors (menuconfig, ...)
 $$(addprefix $(1)-,$$($(2)_KCONFIG_EDITORS)): $$($(2)_DIR)/.stamp_kconfig_fixup_done
        $$($(2)_MAKE_ENV) $$(MAKE) -C $$($(2)_DIR) \
@@ -92,6 +98,8 @@ $(1)-update-defconfig: $(1)-savedefconfig
        cp -f $$($(2)_DIR)/defconfig $$($(2)_KCONFIG_FILE)
        touch --reference $$($(2)_DIR)/.config $$($(2)_KCONFIG_FILE)
 
+endif # package enabled
+
 endef # inner-kconfig-package
 
 ################################################################################