Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-2.6.18
authorGreg Kroah-Hartman <gregkh@suse.de>
Mon, 7 Aug 2006 20:39:55 +0000 (13:39 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 7 Aug 2006 20:39:55 +0000 (13:39 -0700)
1  2 
Makefile

diff --combined Makefile
+++ b/Makefile
@@@ -1,7 -1,7 +1,7 @@@
  VERSION = 2
  PATCHLEVEL = 6
  SUBLEVEL = 18
 -EXTRAVERSION = -rc3
 +EXTRAVERSION = -rc4
  NAME=Crazed Snow-Weasel
  
  # *DOCUMENTATION*
@@@ -436,12 -436,13 +436,13 @@@ core-y          := usr
  endif # KBUILD_EXTMOD
  
  ifeq ($(dot-config),1)
- # In this section, we need .config
+ # Read in config
+ -include include/config/auto.conf
  
+ ifeq ($(KBUILD_EXTMOD),)
  # Read in dependencies to all Kconfig* files, make sure to run
  # oldconfig if changes are detected.
  -include include/config/auto.conf.cmd
- -include include/config/auto.conf
  
  # To avoid any implicit rule to kick in, define an empty command
  $(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
- ifeq ($(KBUILD_EXTMOD),)
        $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
  else
-       $(error kernel configuration not valid - run 'make prepare' in $(srctree) to update it)
- endif
+ # external modules needs include/linux/autoconf.h and include/config/auto.conf
+ # but do not care if they are up-to-date. Use auto.conf to trigger the test
+ PHONY += include/config/auto.conf
+ include/config/auto.conf:
+       $(Q)test -e include/linux/autoconf.h -a -e $@ || (              \
+       echo;                                                           \
+       echo "  ERROR: Kernel configuration is invalid.";               \
+       echo "         include/linux/autoconf.h or $@ are missing.";    \
+       echo "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
+       echo;                                                           \
+       /bin/false)
+ endif # KBUILD_EXTMOD
  
  else
  # Dummy target needed, because used as prerequisite
  include/config/auto.conf: ;
- endif
+ endif # $(dot-config)
  
  # The all: target is the default when no target is given on the
  # command line.