linux: fix appended dtb handling of pre/post v3.8-rc1
authorArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tue, 8 Jan 2013 11:23:56 +0000 (11:23 +0000)
committerPeter Korsgaard <jacmet@sunsite.dk>
Tue, 8 Jan 2013 23:07:56 +0000 (00:07 +0100)
The $(wildcard ) doesn't work for LINUX_APPEND_DTB, because the .dtb
doesn't exist yet at that point.

Also factor the common part out.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
linux/linux.mk

index fe5f738ed6d5b1907d9902f947b46e7477690cc5..61d4267de47c5e661eb69dd334d3245b634c9465 100644 (file)
@@ -201,23 +201,20 @@ endef
 endif
 endif
 
-ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y)
-define LINUX_APPEND_DTB
-       # dtbs moved from arch/$ARCH/boot to arch/$ARCH/boot/dts since 3.8-rc1
-       cat $(wildcard $(addprefix $(KERNEL_ARCH_PATH)/boot/,\
-               $(KERNEL_DTS_NAME).dtb dts/$(KERNEL_DTS_NAME).dtb)) \
-               >> $(KERNEL_ARCH_PATH)/boot/zImage
-       # We need to generate the uImage here after that so that the uImage is
-       # generated with the right image size.
-       $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) uImage
-endef
-else ifeq ($(BR2_LINUX_KERNEL_APPENDED_ZIMAGE),y)
+ifeq ($(BR2_LINUX_KERNEL_APPENDED_DTB),y)
+# dtbs moved from arch/$ARCH/boot to arch/$ARCH/boot/dts since 3.8-rc1
 define LINUX_APPEND_DTB
-       # dtbs moved from arch/$ARCH/boot to arch/$ARCH/boot/dts since 3.8-rc1
-       cat $(wildcard $(addprefix $(KERNEL_ARCH_PATH)/boot/,\
-               $(KERNEL_DTS_NAME).dtb dts/$(KERNEL_DTS_NAME).dtb)) \
-               >> $(KERNEL_ARCH_PATH)/boot/zImage
+       if [ -e $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb ]; then \
+               cat $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb; \
+       else \
+               cat $(KERNEL_ARCH_PATH)/boot/dts/$(KERNEL_DTS_NAME).dtb; \
+       fi >> $(KERNEL_ARCH_PATH)/boot/zImage
 endef
+ifeq ($(BR2_LINUX_KERNEL_APPENDED_UIMAGE),y)
+# We need to generate the uImage here after that so that the uImage is
+# generated with the right image size.
+LINUX_APPEND_DTB += $(sep)$(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) uImage
+endif
 endif
 
 # Compilation. We make sure the kernel gets rebuilt when the