kconfig: add make localyesconfig option
authorSteven Rostedt <srostedt@redhat.com>
Thu, 30 Apr 2009 02:52:23 +0000 (22:52 -0400)
committerSteven Rostedt <rostedt@goodmis.org>
Wed, 19 Aug 2009 01:55:49 +0000 (21:55 -0400)
This adds the option localyesconfig to make. This is similar to
localmodconfig, but after it removes unnecessary modules it runs

  sed -i s/=m/=y/

on the .config file. It then runs "make silentoldconfig" to fix any
wholes that were created by the conversion of modules to core.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
scripts/kconfig/Makefile

index e4d8394..12a4d9e 100644 (file)
@@ -3,7 +3,7 @@
 # These targets are used from top-level makefile
 
 PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \
-       localmodconfig
+       localmodconfig localyesconfig
 
 ifdef KBUILD_KCONFIG
 Kconfig := $(KBUILD_KCONFIG)
@@ -38,6 +38,16 @@ localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
                 mv -f .config.old.1 .config.old)
        $(Q)rm -f .tmp.config
 
+localyesconfig: $(obj)/streamline_config.pl
+       $(Q)perl $< $(Kconfig) > .tmp.config
+       $(Q)sed -i s/=m/=y/ .tmp.config
+       $(Q)cmp -s .tmp.config .config ||               \
+               (mv -f .config .config.old.1;           \
+                mv -f .tmp.config .config;             \
+                $(obj)/conf -s $(Kconfig);             \
+                mv -f .config.old.1 .config.old)
+       $(Q)rm -f .tmp.config
+
 # Create new linux.pot file
 # Adjust charset to UTF-8 in .po file to accept UTF-8 in Kconfig files
 # The symlink is used to repair a deficiency in arch/um
@@ -94,6 +104,7 @@ help:
        @echo  '  gconfig         - Update current config utilising a GTK based front-end'
        @echo  '  oldconfig       - Update current config utilising a provided .config as base'
        @echo  '  localmodconfig  - Update current config disabling modules not loaded'
+       @echo  '  localyesconfig  - Update current config converting local mods to core'
        @echo  '  silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
        @echo  '  randconfig      - New config with random answer to all options'
        @echo  '  defconfig       - New config with default answer to all options'