diff options
Diffstat (limited to 'arch/sh/boot/Makefile')
-rw-r--r-- | arch/sh/boot/Makefile | 48 |
1 files changed, 36 insertions, 12 deletions
diff --git a/arch/sh/boot/Makefile b/arch/sh/boot/Makefile index 78efb04c28f3..a1316872be6f 100644 --- a/arch/sh/boot/Makefile +++ b/arch/sh/boot/Makefile | |||
@@ -20,8 +20,13 @@ CONFIG_BOOT_LINK_OFFSET ?= 0x00800000 | |||
20 | CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 | 20 | CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 |
21 | CONFIG_ENTRY_OFFSET ?= 0x00001000 | 21 | CONFIG_ENTRY_OFFSET ?= 0x00001000 |
22 | 22 | ||
23 | targets := zImage vmlinux.srec uImage uImage.srec | 23 | suffix-$(CONFIG_KERNEL_GZIP) := gz |
24 | subdir- := compressed | 24 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 |
25 | suffix-$(CONFIG_KERNEL_LZMA) := lzma | ||
26 | |||
27 | targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz uImage.bz2 uImage.lzma | ||
28 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma | ||
29 | subdir- := compressed romimage | ||
25 | 30 | ||
26 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | 31 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE |
27 | $(call if_changed,objcopy) | 32 | $(call if_changed,objcopy) |
@@ -30,6 +35,13 @@ $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | |||
30 | $(obj)/compressed/vmlinux: FORCE | 35 | $(obj)/compressed/vmlinux: FORCE |
31 | $(Q)$(MAKE) $(build)=$(obj)/compressed $@ | 36 | $(Q)$(MAKE) $(build)=$(obj)/compressed $@ |
32 | 37 | ||
38 | $(obj)/romImage: $(obj)/romimage/vmlinux FORCE | ||
39 | $(call if_changed,objcopy) | ||
40 | @echo ' Kernel: $@ is ready' | ||
41 | |||
42 | $(obj)/romimage/vmlinux: $(obj)/zImage FORCE | ||
43 | $(Q)$(MAKE) $(build)=$(obj)/romimage $@ | ||
44 | |||
33 | KERNEL_MEMORY := 0x00000000 | 45 | KERNEL_MEMORY := 0x00000000 |
34 | ifeq ($(CONFIG_PMB_FIXED),y) | 46 | ifeq ($(CONFIG_PMB_FIXED),y) |
35 | KERNEL_MEMORY := $(shell /bin/bash -c 'printf "0x%08x" \ | 47 | KERNEL_MEMORY := $(shell /bin/bash -c 'printf "0x%08x" \ |
@@ -40,9 +52,6 @@ KERNEL_MEMORY := $(shell /bin/bash -c 'printf "0x%08x" \ | |||
40 | $$[$(CONFIG_MEMORY_START)]') | 52 | $$[$(CONFIG_MEMORY_START)]') |
41 | endif | 53 | endif |
42 | 54 | ||
43 | export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \ | ||
44 | CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET KERNEL_MEMORY | ||
45 | |||
46 | KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%08x" \ | 55 | KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%08x" \ |
47 | $$[$(CONFIG_PAGE_OFFSET) + \ | 56 | $$[$(CONFIG_PAGE_OFFSET) + \ |
48 | $(KERNEL_MEMORY) + \ | 57 | $(KERNEL_MEMORY) + \ |
@@ -55,19 +64,30 @@ KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \ | |||
55 | 64 | ||
56 | quiet_cmd_uimage = UIMAGE $@ | 65 | quiet_cmd_uimage = UIMAGE $@ |
57 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \ | 66 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \ |
58 | -C gzip -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \ | 67 | -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \ |
59 | -n 'Linux-$(KERNELRELEASE)' -d $< $@ | 68 | -n 'Linux-$(KERNELRELEASE)' -d $< $@ |
60 | 69 | ||
61 | $(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE | ||
62 | $(call if_changed,uimage) | ||
63 | @echo ' Image $@ is ready' | ||
64 | |||
65 | $(obj)/vmlinux.bin: vmlinux FORCE | 70 | $(obj)/vmlinux.bin: vmlinux FORCE |
66 | $(call if_changed,objcopy) | 71 | $(call if_changed,objcopy) |
67 | 72 | ||
68 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE | 73 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE |
69 | $(call if_changed,gzip) | 74 | $(call if_changed,gzip) |
70 | 75 | ||
76 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE | ||
77 | $(call if_changed,bzip2) | ||
78 | |||
79 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE | ||
80 | $(call if_changed,lzma) | ||
81 | |||
82 | $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 | ||
83 | $(call if_changed,uimage,bzip2) | ||
84 | |||
85 | $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz | ||
86 | $(call if_changed,uimage,gzip) | ||
87 | |||
88 | $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma | ||
89 | $(call if_changed,uimage,lzma) | ||
90 | |||
71 | OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec | 91 | OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec |
72 | $(obj)/vmlinux.srec: $(obj)/compressed/vmlinux | 92 | $(obj)/vmlinux.srec: $(obj)/compressed/vmlinux |
73 | $(call if_changed,objcopy) | 93 | $(call if_changed,objcopy) |
@@ -76,5 +96,9 @@ OBJCOPYFLAGS_uImage.srec := -I binary -O srec | |||
76 | $(obj)/uImage.srec: $(obj)/uImage | 96 | $(obj)/uImage.srec: $(obj)/uImage |
77 | $(call if_changed,objcopy) | 97 | $(call if_changed,objcopy) |
78 | 98 | ||
79 | clean-files += uImage uImage.srec vmlinux.srec \ | 99 | $(obj)/uImage: $(obj)/uImage.$(suffix-y) |
80 | vmlinux.bin vmlinux.bin.gz | 100 | @ln -sf $(notdir $<) $@ |
101 | @echo ' Image $@ is ready' | ||
102 | |||
103 | export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \ | ||
104 | CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET KERNEL_MEMORY suffix-y | ||