kbuild: fix mkmakefile
authorJan Beulich <jbeulich@novell.com>
Mon, 30 Jan 2006 09:05:09 +0000 (10:05 +0100)
committerSam Ravnborg <sam@mars.ravnborg.org>
Sun, 19 Feb 2006 08:51:21 +0000 (09:51 +0100)
With the current way of generating the Makefile in the output directory
for builds outside of the source tree, specifying real targets (rather
than phony ones) doesn't work in an already (partially) built tree, as
the stub Makefile doesn't have any dependency information available.
Thus, all targets where files may actually exist must be listed
explicitly and, due to what I'd call a make misbehavior, directory
targets must then also be special cased.

Signed-Off-By: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
scripts/mkmakefile

index c4d621b30d0db1649d99f9cebf31377cc2d8d32b..a22cbedd3b3ec0738379c283d4fb2df5b33209ec 100644 (file)
@@ -21,11 +21,13 @@ KERNELOUTPUT := $2
 
 MAKEFLAGS += --no-print-directory
 
 
 MAKEFLAGS += --no-print-directory
 
+.PHONY: all \$(MAKECMDGOALS)
+
 all:
        \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT)
 
 all:
        \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT)
 
-%::
-       \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$@
+Makefile:;
 
 
+\$(filter-out all Makefile,\$(MAKECMDGOALS)) %/:
+       \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$@
 EOF
 EOF
-