Add generic functions to enable/set/disable options in kconfig files
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 8 Jun 2010 11:54:10 +0000 (13:54 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 22 Jun 2010 19:20:27 +0000 (21:20 +0200)
The KCONFIG_ENABLE_OPT, KCONFIG_SET_OPT and KCONFIG_DISABLE_OPT are
new make functions to respectively enable, set and disable options in
Kconfig-like files (as used by the kernel, uClibc or Busybox).

They can be used as follows :

 $(call KCONFIG_ENABLE_OPT,CONFIG_FOOBAR,/path/to/.config)
 $(call KCONFIG_SET_OPT,CONFIG_BARFOO,foobar,/path/to/.config)
 $(call KCONFIG_DISABLE_OPT,CONFIG_FARBOO,/path/to/.config)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/Makefile.package.in

index cdf49f8fef6493d9b7e40d120e2778bb8f1d54c0..b702c4988f8470b435dc594edb2f2914a4b0dd61 100644 (file)
@@ -40,6 +40,21 @@ UPPERCASE = $(strip $(eval __tmp := $1) \
                        $(__tmp)))) \
      $(__tmp))
 
+define KCONFIG_ENABLE_OPT
+       $(SED) "/$(1)/d" $(2)
+       echo "$(1)=y" >> $(2)
+endef
+
+define KCONFIG_SET_OPT
+       $(SED) "/$(1)/d" $(3)
+       echo "$(1)=$(2)" >> $(3)
+endef
+
+define KCONFIG_DISABLE_OPT
+       $(SED) "/$(1)/d" $(2)
+       echo "# $(1) is not set" >> $(2)
+endef
+
 # Define extrators for different archive suffixes
 INFLATE.bz2 = $(BZCAT)
 INFLATE.gz  = $(ZCAT)