Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | # |
2 | # arch/sh/boot/Makefile | |
3 | # | |
4 | # This file is subject to the terms and conditions of the GNU General Public | |
5 | # License. See the file "COPYING" in the main directory of this archive | |
6 | # for more details. | |
7 | # | |
8 | # Copyright (C) 1999 Stuart Menefy | |
9 | # | |
10 | ||
cf00e204 PM |
11 | MKIMAGE := $(srctree)/scripts/mkuboot.sh |
12 | ||
13 | # | |
14 | # Assign safe dummy values if these variables are not defined, | |
15 | # in order to suppress error message. | |
16 | # | |
17 | CONFIG_PAGE_OFFSET ?= 0x80000000 | |
18 | CONFIG_MEMORY_START ?= 0x0c000000 | |
19 | CONFIG_BOOT_LINK_OFFSET ?= 0x00800000 | |
20 | CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 | |
d27e0854 | 21 | CONFIG_ENTRY_OFFSET ?= 0x00001000 |
cf00e204 | 22 | |
9e24c7e2 | 23 | suffix-y := bin |
c7b16efb PM |
24 | suffix-$(CONFIG_KERNEL_GZIP) := gz |
25 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 | |
26 | suffix-$(CONFIG_KERNEL_LZMA) := lzma | |
50cfa79d | 27 | suffix-$(CONFIG_KERNEL_XZ) := xz |
c7b16efb PM |
28 | suffix-$(CONFIG_KERNEL_LZO) := lzo |
29 | ||
30 | targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \ | |
50cfa79d | 31 | uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin |
c7b16efb | 32 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \ |
50cfa79d | 33 | vmlinux.bin.xz vmlinux.bin.lzo |
3c928320 | 34 | subdir- := compressed romimage |
1da177e4 LT |
35 | |
36 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | |
37 | $(call if_changed,objcopy) | |
cf00e204 | 38 | @echo ' Kernel: $@ is ready' |
1da177e4 LT |
39 | |
40 | $(obj)/compressed/vmlinux: FORCE | |
41 | $(Q)$(MAKE) $(build)=$(obj)/compressed $@ | |
42 | ||
3c928320 MD |
43 | $(obj)/romImage: $(obj)/romimage/vmlinux FORCE |
44 | $(call if_changed,objcopy) | |
45 | @echo ' Kernel: $@ is ready' | |
46 | ||
47 | $(obj)/romimage/vmlinux: $(obj)/zImage FORCE | |
48 | $(Q)$(MAKE) $(build)=$(obj)/romimage $@ | |
49 | ||
a0ab3668 | 50 | KERNEL_MEMORY := $(shell /bin/bash -c 'printf "0x%08x" \ |
2f47f447 | 51 | $$[$(CONFIG_MEMORY_START) & 0x1fffffff]') |
2f47f447 | 52 | |
66b5bf42 | 53 | KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%08x" \ |
1f25756a | 54 | $$[$(CONFIG_PAGE_OFFSET) + \ |
2f47f447 | 55 | $(KERNEL_MEMORY) + \ |
453ec9c1 TB |
56 | $(CONFIG_ZERO_PAGE_OFFSET)]') |
57 | ||
66b5bf42 | 58 | KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \ |
6fc5153a | 59 | $$[$(CONFIG_PAGE_OFFSET) + \ |
2f47f447 | 60 | $(KERNEL_MEMORY) + \ |
82cb1f6f | 61 | $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]') |
cf00e204 PM |
62 | |
63 | quiet_cmd_uimage = UIMAGE $@ | |
64 | cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A sh -O linux -T kernel \ | |
ef9b542f | 65 | -C $(2) -a $(KERNEL_LOAD) -e $(KERNEL_ENTRY) \ |
cf00e204 PM |
66 | -n 'Linux-$(KERNELRELEASE)' -d $< $@ |
67 | ||
453ec9c1 TB |
68 | $(obj)/vmlinux.bin: vmlinux FORCE |
69 | $(call if_changed,objcopy) | |
70 | ||
71 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE | |
72 | $(call if_changed,gzip) | |
73 | ||
ef9b542f PM |
74 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE |
75 | $(call if_changed,bzip2) | |
76 | ||
77 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE | |
78 | $(call if_changed,lzma) | |
79 | ||
50cfa79d PM |
80 | $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE |
81 | $(call if_changed,xzkern) | |
82 | ||
c7b16efb PM |
83 | $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE |
84 | $(call if_changed,lzo) | |
85 | ||
ef9b542f PM |
86 | $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 |
87 | $(call if_changed,uimage,bzip2) | |
88 | ||
89 | $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz | |
90 | $(call if_changed,uimage,gzip) | |
91 | ||
92 | $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma | |
93 | $(call if_changed,uimage,lzma) | |
94 | ||
50cfa79d PM |
95 | $(obj)/uImage.xz: $(obj)/vmlinux.bin.xz |
96 | $(call if_changed,uimage,xz) | |
97 | ||
c7b16efb PM |
98 | $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo |
99 | $(call if_changed,uimage,lzo) | |
100 | ||
9e24c7e2 MD |
101 | $(obj)/uImage.bin: $(obj)/vmlinux.bin |
102 | $(call if_changed,uimage,none) | |
103 | ||
cf00e204 PM |
104 | OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec |
105 | $(obj)/vmlinux.srec: $(obj)/compressed/vmlinux | |
106 | $(call if_changed,objcopy) | |
107 | ||
108 | OBJCOPYFLAGS_uImage.srec := -I binary -O srec | |
109 | $(obj)/uImage.srec: $(obj)/uImage | |
110 | $(call if_changed,objcopy) | |
111 | ||
ef9b542f PM |
112 | $(obj)/uImage: $(obj)/uImage.$(suffix-y) |
113 | @ln -sf $(notdir $<) $@ | |
114 | @echo ' Image $@ is ready' | |
115 | ||
116 | export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \ | |
117 | CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET KERNEL_MEMORY suffix-y |