ASoC: tpa6130a2: Remove CPVSS and HPVdd supplies
[safe/jmp/linux-2.6] / scripts / kconfig / Makefile
index 1ad6f7f..186c466 100644 (file)
@@ -2,9 +2,14 @@
 # Kernel configuration targets
 # These targets are used from top-level makefile
 
-PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config
+PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \
+       localmodconfig localyesconfig
 
+ifdef KBUILD_KCONFIG
+Kconfig := $(KBUILD_KCONFIG)
+else
 Kconfig := arch/$(SRCARCH)/Kconfig
+endif
 
 xconfig: $(obj)/qconf
        $< $(Kconfig)
@@ -22,24 +27,67 @@ oldconfig: $(obj)/conf
        $< -o $(Kconfig)
 
 silentoldconfig: $(obj)/conf
+       $(Q)mkdir -p include/generated
        $< -s $(Kconfig)
 
-# Create new linux.po file
+# if no path is given, then use src directory to find file
+ifdef LSMOD
+LSMOD_F := $(LSMOD)
+ifeq ($(findstring /,$(LSMOD)),)
+  LSMOD_F := $(objtree)/$(LSMOD)
+endif
+endif
+
+localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
+       $(Q)mkdir -p include/generated
+       $(Q)perl $< $(srctree) $(Kconfig) $(LSMOD_F) > .tmp.config
+       $(Q)if [ -f .config ]; then                             \
+                       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)       \
+       else                                                    \
+                       mv -f .tmp.config .config;              \
+                       $(obj)/conf -s $(Kconfig);              \
+       fi
+       $(Q)rm -f .tmp.config
+
+localyesconfig: $(obj)/streamline_config.pl $(obj)/conf
+       $(Q)mkdir -p include/generated
+       $(Q)perl $< $(srctree) $(Kconfig) $(LSMOD_F) > .tmp.config
+       $(Q)sed -i s/=m/=y/ .tmp.config
+       $(Q)if [ -f .config ]; then                             \
+                       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)       \
+       else                                                    \
+                       mv -f .tmp.config .config;              \
+                       $(obj)/conf -s $(Kconfig);              \
+       fi
+       $(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
-update-po-config: $(obj)/kxgettext
-       xgettext --default-domain=linux                  \
+update-po-config: $(obj)/kxgettext $(obj)/gconf.glade.h
+       $(Q)echo "  GEN config"
+       $(Q)xgettext --default-domain=linux              \
            --add-comments --keyword=_ --keyword=N_      \
            --from-code=UTF-8                            \
            --files-from=scripts/kconfig/POTFILES.in     \
            --output $(obj)/config.pot
        $(Q)sed -i s/CHARSET/UTF-8/ $(obj)/config.pot
        $(Q)ln -fs Kconfig.i386 arch/um/Kconfig.arch
-       (for i in `ls arch/`;                            \
-       do                                               \
-           $(obj)/kxgettext arch/$$i/Kconfig;           \
-       done ) >> $(obj)/config.pot
-       msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
+       $(Q)(for i in `ls arch/*/Kconfig`;               \
+           do                                           \
+               echo "  GEN $$i";                        \
+               $(obj)/kxgettext $$i                     \
+                    >> $(obj)/config.pot;               \
+           done )
+       $(Q)msguniq --sort-by-file --to-code=UTF-8 $(obj)/config.pot \
            --output $(obj)/linux.pot
        $(Q)rm -f arch/um/Kconfig.arch
        $(Q)rm -f $(obj)/config.pot
@@ -76,7 +124,9 @@ help:
        @echo  '  xconfig         - Update current config utilising a QT based front-end'
        @echo  '  gconfig         - Update current config utilising a GTK based front-end'
        @echo  '  oldconfig       - Update current config utilising a provided .config as base'
-       @echo  '  silentoldconfig - Same as oldconfig, but quietly'
+       @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'
        @echo  '  allmodconfig    - New config selecting modules when possible'
@@ -93,17 +143,11 @@ HOST_LOADLIBES   = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
 
 HOST_EXTRACFLAGS += -DLOCALE
 
-PHONY += $(obj)/dochecklxdialog
-$(obj)/dochecklxdialog:
-       $(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_LOADLIBES)
-
-always := dochecklxdialog
-
 
 # ===========================================================================
 # Shared Makefile for the various kconfig executables:
 # conf:          Used for defconfig, oldconfig and related targets
-# mconf:  Used for the mconfig target.
+# mconf:  Used for the menuconfig target
 #         Utilizes the lxdialog package
 # qconf:  Used for the xconfig target
 #         Based on QT which needs to be installed to compile it
@@ -142,8 +186,17 @@ gconf-objs := gconf.o kconfig_load.o zconf.tab.o
 endif
 
 clean-files    := lkc_defs.h qconf.moc .tmp_qtcheck \
-                  .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c
+                  .tmp_gtkcheck zconf.tab.c lex.zconf.c zconf.hash.c gconf.glade.h
 clean-files     += mconf qconf gconf
+clean-files     += config.pot linux.pot
+
+# Check that we have the required ncurses stuff installed for lxdialog (menuconfig)
+PHONY += $(obj)/dochecklxdialog
+$(addprefix $(obj)/,$(lxdialog)): $(obj)/dochecklxdialog
+$(obj)/dochecklxdialog:
+       $(Q)$(CONFIG_SHELL) $(check-lxdialog) -check $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOST_LOADLIBES)
+
+always := dochecklxdialog
 
 # Add environment specific flags
 HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTCC) $(HOSTCFLAGS))
@@ -248,6 +301,9 @@ $(obj)/%.moc: $(src)/%.h
 $(obj)/lkc_defs.h: $(src)/lkc_proto.h
        sed < $< > $@ 's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
 
+# Extract gconf menu items for I18N support
+$(obj)/gconf.glade.h: $(obj)/gconf.glade
+       intltool-extract --type=gettext/glade $(obj)/gconf.glade
 
 ###
 # The following requires flex/bison/gperf