kbuild: create include/generated in silentoldconfig
Michal Marek [Wed, 25 Nov 2009 14:14:49 +0000 (15:14 +0100)]
The toplevel Makefile creates the directory if it runs silentoldconfig
automatically, but if run manually, it fails:

  $ make mrproper
  $ make defconfig && make silentoldconfig
  *** Default configuration is based on 'x86_64_defconfig'
  #
  # configuration written to .config
  #
  scripts/kconfig/conf -s arch/x86/Kconfig

  *** Error during update of the kernel configuration.
  ...

Move the mkdir command to the silentoldconfig target to make it work.

Signed-off-by: Michal Marek <mmarek@suse.cz>

Makefile
scripts/kconfig/Makefile

index 96b32e5..aa608c2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -492,7 +492,6 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
 # if auto.conf.cmd is missing then we are probably in a cleaned tree so
 # we execute the config step to be sure to catch updated Kconfig files
 include/config/auto.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
-       $(Q)mkdir -p include/generated
        $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
 else
 # external modules needs include/generated/autoconf.h and include/config/auto.conf
index 80599e3..999e8a7 100644 (file)
@@ -27,6 +27,7 @@ oldconfig: $(obj)/conf
        $< -o $(Kconfig)
 
 silentoldconfig: $(obj)/conf
+       $(Q)mkdir -p include/generated
        $< -s $(Kconfig)
 
 localmodconfig: $(obj)/streamline_config.pl $(obj)/conf