summaryrefslogtreecommitdiffstats
path: root/arch/arc/boot
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-03-22 17:34:27 +0100
committerVineet Gupta <vgupta@synopsys.com>2013-04-09 08:51:15 +0200
commit104058ede714d3d84f27025a7b5467c6bb137ffd (patch)
tree2764712c62ad4a4695cbb9ab9dc93cf3acea76cc /arch/arc/boot
parentARC: [build] cleanup Makefile a bit (diff)
downloadlinux-104058ede714d3d84f27025a7b5467c6bb137ffd.tar.xz
linux-104058ede714d3d84f27025a7b5467c6bb137ffd.zip
ARC: [build] Allow uncompressed uImage
The existing uImage target always generates gzip compressed image which drags bootup for some very slow FPGA customer boards. So introduce seperate make targets:uImage.{bin,gz} with uncompressed being default. Also tie gz generation to CONFIG_KERNEL_GZIP, which a platform can select in it's Kconfig if it wishes gz to be default. Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/boot')
-rw-r--r--arch/arc/boot/Makefile17
1 files changed, 14 insertions, 3 deletions
diff --git a/arch/arc/boot/Makefile b/arch/arc/boot/Makefile
index 70416a9b452f..e597cb34c16a 100644
--- a/arch/arc/boot/Makefile
+++ b/arch/arc/boot/Makefile
@@ -11,7 +11,12 @@ LINUX_START_TEXT = $$(readelf -h vmlinux | \
UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE)
UIMAGE_ENTRYADDR = $(LINUX_START_TEXT)
-UIMAGE_COMPRESSION = gzip
+
+suffix-y := bin
+suffix-$(CONFIG_KERNEL_GZIP) := gz
+
+targets += uImage uImage.bin uImage.gz
+extra-y += vmlinux.bin vmlinux.bin.gz
$(obj)/vmlinux.bin: vmlinux FORCE
$(call if_changed,objcopy)
@@ -19,6 +24,12 @@ $(obj)/vmlinux.bin: vmlinux FORCE
$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
$(call if_changed,gzip)
-$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE
- $(call if_changed,uimage)
+$(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE
+ $(call if_changed,uimage,none)
+
+$(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
+ $(call if_changed,uimage,gzip)
+$(obj)/uImage: $(obj)/uImage.$(suffix-y)
+ @ln -sf $(notdir $<) $@
+ @echo ' Image $@ is ready'