Subject: Re: [BUILD-FAILURE] linux-next: Tree for June 4 - firmware/keyspan/mpr.fw.gen.S

From: David Woodhouse <[email-masked]>
Date: Wed, 04 Jun 2008 14:38:37 +0100

On Wed, 2008-06-04 at 17:16 +0530, Kamalesh Babulal wrote:
> Hi Stephen,
> 
> The next-20080604 kernel build fails on the x86_64 machine
> 
> make[1]: *** No rule to make target `/usr/local/autobench/autotest/tmp/build/linux/$(dir)', needed by `firmware/keyspan/mpr.fw.gen.S'.  Stop.
> make: *** [firmware] Error 2

Does this 'fix' it?

diff --git a/firmware/Makefile b/firmware/Makefile
index b4f758a..5244ea4 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -83,7 +83,20 @@ wordsize_deps := $(wildcard include/config/64bit.h include/config/32bit.h \
 		include/config/superh32.h include/config/superh64.h \
 		include/config/x86_32.h include/config/x86_64.h)
 
-# For the $$(dir %) trick, where we need % to be expanded first.
+# .SECONDEXPANSION for the $$(dir %) trick, where we need % to be expanded
+# first before we expand the $(dir ...). And a workaround for broken make.
+PHONY += make-warning
+make-warning:
+	@echo '*************'
+	@echo 'WARNING: Your version of make ($(MAKE_VERSION)) seems not to work'
+	@echo 'correctly with .SECONDEXPANSION: as used in firmware/Makefile.'
+	@echo 'Creating directories in advance instead of on-demand'
+	@echo '*************'
+
+PHONY += $(objtree)/$$(%) $(objtree)/$(obj)/$$(%)
+$(objtree)/$$(%) $(objtree)/$(obj)/$$(%): make-warning $(firmware-dirs)
+	@true
+
 .SECONDEXPANSION:
 
 $(patsubst %,$(obj)/%.gen.S, $(fw-shipped-y)): %: $(wordsize_deps) \

-- 
dwmw2