arm/dt: Fix broken dtbs rule.

Message ID 20110414205849.10624.31814.stgit@ponder
State New
Headers show

Commit Message

Grant Likely April 14, 2011, 8:58 p.m.
On recent make, commit 1449fb96, "arm/dt: Add a make rule to build
dtb for enabled boards" breaks build of the kernel immediately:

/projects/linaro/linux-2.6/arch/arm/Makefile:292: *** mixed implicit
and normal rules.  Stop.

> $ rpm -q make
> make-3.82-4.fc15.x86_64
>
> ''The previous behavior of mixing implicit and pattern rules in one line
> like that was never supported or documented, but due to a "hole" in the
> parser it worked for certain specific cases (for example, reversing that
> line so the pattern comes first would not work, nor would adding extra
> explicit targets after the pattern target).
>
> In 3.82, the parser was tightened in this respect and that "hole" was
> closed, hence you see this error.''

This patch splits the rule to fix the bug.

Reported-by: Andy Green <andy.green@linaro.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
---
 arch/arm/Makefile |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

Patch

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 1be856a..4570ca7 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -289,7 +289,10 @@  zImage Image xipImage bootpImage uImage: vmlinux
 zinstall uinstall install: vmlinux
 	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
 
-dtbs %.dtb:
+%.dtb:
+	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
+
+dtbs:
 	$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
 
 # We use MRPROPER_FILES and CLEAN_FILES now
@@ -308,6 +311,7 @@  define archhelp
   echo  '  uImage        - U-Boot wrapped zImage'
   echo  '  bootpImage    - Combined zImage and initial RAM disk' 
   echo  '                  (supply initrd image via make variable INITRD=<path>)'
+  echo  '  dtbs          - Build device tree blobs for enabled boards'
   echo  '  install       - Install uncompressed kernel'
   echo  '  zinstall      - Install compressed kernel'
   echo  '  uinstall      - Install U-Boot wrapped compressed kernel'