From: "Jan Beulich" <JBeulich@novell.com>

Splitting of autoconf.h requires that split-include was built before, and
needs to be-re-done when split-include changes.  This dependency was
previously missing.  Additionally, since autoconf.h is (suppoosed to be)
generated as a side effect of executing config targets, include/linux
should be created prior to running the respective sub-make.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 Makefile |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff -puN Makefile~fix-split-include-dependency Makefile
--- 25/Makefile~fix-split-include-dependency	Wed Sep  7 14:55:23 2005
+++ 25-akpm/Makefile	Wed Sep  7 14:55:23 2005
@@ -382,6 +382,9 @@ RCS_TAR_IGNORE := --exclude SCCS --exclu
 scripts_basic:
 	$(Q)$(MAKE) $(build)=scripts/basic
 
+# To avoid any implicit rule to kick in, define an empty command.
+scripts/basic/%: scripts_basic ;
+
 .PHONY: outputmakefile
 # outputmakefile generate a Makefile to be placed in output directory, if
 # using a seperate output directory. This allows convinient use
@@ -444,9 +447,8 @@ ifeq ($(config-targets),1)
 include $(srctree)/arch/$(ARCH)/Makefile
 export KBUILD_DEFCONFIG
 
-config: scripts_basic outputmakefile FORCE
-	$(Q)$(MAKE) $(build)=scripts/kconfig $@
-%config: scripts_basic outputmakefile FORCE
+config %config: scripts_basic outputmakefile FORCE
+	$(Q)mkdir -p include/linux
 	$(Q)$(MAKE) $(build)=scripts/kconfig $@
 
 else
@@ -845,7 +847,7 @@ include/asm:
 
 # 	Split autoconf.h into include/linux/config/*
 
-include/config/MARKER: include/linux/autoconf.h
+include/config/MARKER: scripts/basic/split-include include/linux/autoconf.h
 	@echo '  SPLIT   include/linux/autoconf.h -> include/config/*'
 	@scripts/basic/split-include include/linux/autoconf.h include/config
 	@touch $@
_