Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=916066d5913c37a6b3907eb6695cc9ecaaa4d8ca
Commit:     916066d5913c37a6b3907eb6695cc9ecaaa4d8ca
Parent:     a8de5ce9895367191df9b30804a0c67cfcc9f27a
Author:     Mark A. Greer <[EMAIL PROTECTED]>
AuthorDate: Sat May 12 10:53:36 2007 +1000
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Sat May 12 11:32:49 2007 +1000

    [POWERPC] Add Makefile rules to wrap dts file in zImage
    
    Add 'zImage.dts' and 'zImage.dts_initrd' build rules that automatically
    compile and wrap a dts file from arch/powerpc/boot/dts into the zImage file.
    The resulting zImage will be arch/powerpc/boot/zImage.dts.<platform> and
    arch/powerpc/boot/zImage.dts_initrd.<platform>, respectively.
    
    Having separate rules allows the user to choose whether to include a device
    tree--and which device tree--at build time.  This is useful when one 
Makefile
    target builds a zImage that runs on several platforms except for differing
    device trees.  By just setting CONFIG_DEVICE_TREE and running "make 
zImage.dts"
    the exact zImage you want is built without Makefile bloat or manually 
running
    the wrapper script.
    
    The dts file is expected to be arch/powerpc/boot/dts/$(CONFIG_DEVICE_TREE)
    
    Signed-off-by: Mark A. Greer <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/powerpc/Makefile      |    2 +-
 arch/powerpc/boot/Makefile |   25 ++++++++++++++++++++++++-
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 81a531d..d6014a6 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -148,7 +148,7 @@ all: $(KBUILD_IMAGE)
 
 CPPFLAGS_vmlinux.lds   := -Upowerpc
 
-BOOT_TARGETS = zImage zImage.initrd uImage
+BOOT_TARGETS = zImage zImage.initrd zImage.dts zImage.dts_initrd uImage
 
 PHONY += $(BOOT_TARGETS)
 
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
index 5c384aa..01b6839 100644
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
@@ -154,9 +154,27 @@ targets    += $(image-y) $(initrd-y)
 
 $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz
 
+dts-  := $(patsubst zImage%, zImage.dts%, $(image-n) $(image-))
+dts-y := $(patsubst zImage%, zImage.dts%, $(image-y))
+dts-y := $(filter-out $(image-y), $(dts-y))
+targets        += $(image-y) $(dts-y)
+
+dts_initrd-  := $(patsubst zImage%, zImage.dts_initrd%, $(image-n) $(image-))
+dts_initrd-y := $(patsubst zImage%, zImage.dts_initrd%, $(image-y))
+dts_initrd-y := $(filter-out $(image-y), $(dts_initrd-y))
+targets        += $(image-y) $(dts_initrd-y)
+
+$(addprefix $(obj)/, $(dts_initrd-y)): $(obj)/ramdisk.image.gz
+
 # Don't put the ramdisk on the pattern rule; when its missing make will try
 # the pattern rule with less dependencies that also matches (even with the
 # hard dependency listed).
+$(obj)/zImage.dts_initrd.%: vmlinux $(wrapperbits) $(dts) 
$(obj)/ramdisk.image.gz
+       $(call if_changed,wrap,$*,$(dts),,$(obj)/ramdisk.image.gz)
+
+$(obj)/zImage.dts.%: vmlinux $(wrapperbits) $(dts)
+       $(call if_changed,wrap,$*,$(dts))
+
 $(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
        $(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz)
 
@@ -195,13 +213,18 @@ $(obj)/zImage:            $(addprefix $(obj)/, $(image-y))
        @rm -f $@; ln $< $@
 $(obj)/zImage.initrd:  $(addprefix $(obj)/, $(initrd-y))
        @rm -f $@; ln $< $@
+$(obj)/zImage.dts:     $(addprefix $(obj)/, $(dts-y))
+       @rm -f $@; ln $< $@
+$(obj)/zImage.dts_initrd:      $(addprefix $(obj)/, $(dts_initrd-y))
+       @rm -f $@; ln $< $@
+
 
 install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y))
        sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux 
System.map "$(INSTALL_PATH)" $<
 
 # anything not in $(targets)
 clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* \
-       treeImage.*
+       treeImage.* zImage.dts zImage.dts_initrd
 
 # clean up files cached by wrapper
 clean-kernel := vmlinux.strip vmlinux.bin
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to