diff options
author | Mark A. Greer <mgreer@mvista.com> | 2007-05-31 15:55:35 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-06-25 03:00:09 -0400 |
commit | a00cec48ccda0f2b550ad4082d6e95c7cc232925 (patch) | |
tree | 6f176b17f61cc8b45d57d23609cf422103e43c14 /arch/powerpc | |
parent | 941b7adf347dc3e6e2bf87b2af1ef8a42b617a63 (diff) |
[POWERPC] When appropriate, wrap device tree with zImage
There are 2 config options that indicate whether the platform being built
has a device tree source file associated with it. Namely,
CONFIG_WANT_DEVICE_TREE and CONFIG_DEVICE_TREE. When CONFIG_WANT_DEVICE_TREE
is 'y' and CONFIG_DEVICE_TREE isn't an empty string, automatically wrap
the specified device tree with the zImage being built.
To achieve this, the 'dts' variable will only be set when the conditions
above are true. The changes to the zImage.initrd.% and zImage.% rules
cause the device tree to be wrapped when 'dts' is set; otherwise, they
will work as they previosly did (i.e., build a zImage with no device tree).
Signed-off-by: Mark A. Greer <mgreer@mvista.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/boot/Makefile | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 75e1e5681ad8..29361d76ef1b 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
@@ -157,14 +157,24 @@ targets += $(image-y) $(initrd-y) | |||
157 | 157 | ||
158 | $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz | 158 | $(addprefix $(obj)/, $(initrd-y)): $(obj)/ramdisk.image.gz |
159 | 159 | ||
160 | # If CONFIG_WANT_DEVICE_TREE is set and CONFIG_DEVICE_TREE isn't an | ||
161 | # empty string, define 'dts' to be path to the dts | ||
162 | # CONFIG_DEVICE_TREE will have "" around it, make sure to strip them | ||
163 | ifeq ($(CONFIG_WANT_DEVICE_TREE),y) | ||
164 | ifneq ($(CONFIG_DEVICE_TREE),"") | ||
165 | dts = $(if $(shell echo $(CONFIG_DEVICE_TREE) | grep '^/'),\ | ||
166 | ,$(srctree)/$(src)/dts/)$(CONFIG_DEVICE_TREE:"%"=%) | ||
167 | endif | ||
168 | endif | ||
169 | |||
160 | # Don't put the ramdisk on the pattern rule; when its missing make will try | 170 | # Don't put the ramdisk on the pattern rule; when its missing make will try |
161 | # the pattern rule with less dependencies that also matches (even with the | 171 | # the pattern rule with less dependencies that also matches (even with the |
162 | # hard dependency listed). | 172 | # hard dependency listed). |
163 | $(obj)/zImage.initrd.%: vmlinux $(wrapperbits) | 173 | $(obj)/zImage.initrd.%: vmlinux $(wrapperbits) $(dts) |
164 | $(call if_changed,wrap,$*,,,$(obj)/ramdisk.image.gz) | 174 | $(call if_changed,wrap,$*,$(dts),,$(obj)/ramdisk.image.gz) |
165 | 175 | ||
166 | $(obj)/zImage.%: vmlinux $(wrapperbits) | 176 | $(obj)/zImage.%: vmlinux $(wrapperbits) $(dts) |
167 | $(call if_changed,wrap,$*) | 177 | $(call if_changed,wrap,$*,$(dts)) |
168 | 178 | ||
169 | $(obj)/zImage.iseries: vmlinux | 179 | $(obj)/zImage.iseries: vmlinux |
170 | $(STRIP) -s -R .comment $< -o $@ | 180 | $(STRIP) -s -R .comment $< -o $@ |
@@ -184,10 +194,6 @@ $(obj)/zImage.initrd.holly-elf: vmlinux $(wrapperbits) $(obj)/ramdisk.image.gz | |||
184 | $(obj)/uImage: vmlinux $(wrapperbits) | 194 | $(obj)/uImage: vmlinux $(wrapperbits) |
185 | $(call if_changed,wrap,uboot) | 195 | $(call if_changed,wrap,uboot) |
186 | 196 | ||
187 | # CONFIG_DEVICE_TREE will have "" around it, make sure to strip them | ||
188 | dts = $(if $(shell echo $(CONFIG_DEVICE_TREE) | grep '^/'),\ | ||
189 | ,$(srctree)/$(src)/dts/)$(CONFIG_DEVICE_TREE:"%"=%) | ||
190 | |||
191 | $(obj)/cuImage.%: vmlinux $(dts) $(wrapperbits) | 197 | $(obj)/cuImage.%: vmlinux $(dts) $(wrapperbits) |
192 | $(call if_changed,wrap,cuboot-$*,$(dts)) | 198 | $(call if_changed,wrap,cuboot-$*,$(dts)) |
193 | 199 | ||