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 | # |
12 | # Assign safe dummy values if these variables are not defined, | |
13 | # in order to suppress error message. | |
14 | # | |
15 | CONFIG_PAGE_OFFSET ?= 0x80000000 | |
16 | CONFIG_MEMORY_START ?= 0x0c000000 | |
17 | CONFIG_BOOT_LINK_OFFSET ?= 0x00800000 | |
18 | CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000 | |
d27e0854 | 19 | CONFIG_ENTRY_OFFSET ?= 0x00001000 |
e66ac3f2 | 20 | CONFIG_PHYSICAL_START ?= $(CONFIG_MEMORY_START) |
cf00e204 | 21 | |
9e24c7e2 | 22 | suffix-y := bin |
c7b16efb PM |
23 | suffix-$(CONFIG_KERNEL_GZIP) := gz |
24 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 | |
25 | suffix-$(CONFIG_KERNEL_LZMA) := lzma | |
50cfa79d | 26 | suffix-$(CONFIG_KERNEL_XZ) := xz |
c7b16efb PM |
27 | suffix-$(CONFIG_KERNEL_LZO) := lzo |
28 | ||
29 | targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \ | |
50cfa79d | 30 | uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin |
c7b16efb | 31 | extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \ |
50cfa79d | 32 | vmlinux.bin.xz vmlinux.bin.lzo |
3c928320 | 33 | subdir- := compressed romimage |
1da177e4 LT |
34 | |
35 | $(obj)/zImage: $(obj)/compressed/vmlinux FORCE | |
36 | $(call if_changed,objcopy) | |
cf00e204 | 37 | @echo ' Kernel: $@ is ready' |
1da177e4 LT |
38 | |
39 | $(obj)/compressed/vmlinux: FORCE | |
40 | $(Q)$(MAKE) $(build)=$(obj)/compressed $@ | |
41 | ||
3c928320 MD |
42 | $(obj)/romImage: $(obj)/romimage/vmlinux FORCE |
43 | $(call if_changed,objcopy) | |
44 | @echo ' Kernel: $@ is ready' | |
45 | ||
46 | $(obj)/romimage/vmlinux: $(obj)/zImage FORCE | |
47 | $(Q)$(MAKE) $(build)=$(obj)/romimage $@ | |
48 | ||
a0ab3668 | 49 | KERNEL_MEMORY := $(shell /bin/bash -c 'printf "0x%08x" \ |
e66ac3f2 | 50 | $$[$(CONFIG_PHYSICAL_START) & 0x1fffffff]') |
2f47f447 | 51 | |
66b5bf42 | 52 | KERNEL_LOAD := $(shell /bin/bash -c 'printf "0x%08x" \ |
1f25756a | 53 | $$[$(CONFIG_PAGE_OFFSET) + \ |
2f47f447 | 54 | $(KERNEL_MEMORY) + \ |
453ec9c1 TB |
55 | $(CONFIG_ZERO_PAGE_OFFSET)]') |
56 | ||
66b5bf42 | 57 | KERNEL_ENTRY := $(shell /bin/bash -c 'printf "0x%08x" \ |
6fc5153a | 58 | $$[$(CONFIG_PAGE_OFFSET) + \ |
2f47f447 | 59 | $(KERNEL_MEMORY) + \ |
82cb1f6f | 60 | $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]') |
cf00e204 | 61 | |
e3393645 SW |
62 | UIMAGE_LOADADDR = $(KERNEL_LOAD) |
63 | UIMAGE_ENTRYADDR = $(KERNEL_ENTRY) | |
cf00e204 | 64 | |
453ec9c1 TB |
65 | $(obj)/vmlinux.bin: vmlinux FORCE |
66 | $(call if_changed,objcopy) | |
67 | ||
68 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE | |
69 | $(call if_changed,gzip) | |
70 | ||
ef9b542f PM |
71 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE |
72 | $(call if_changed,bzip2) | |
73 | ||
74 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE | |
75 | $(call if_changed,lzma) | |
76 | ||
50cfa79d PM |
77 | $(obj)/vmlinux.bin.xz: $(obj)/vmlinux.bin FORCE |
78 | $(call if_changed,xzkern) | |
79 | ||
c7b16efb PM |
80 | $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE |
81 | $(call if_changed,lzo) | |
82 | ||
ef9b542f PM |
83 | $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 |
84 | $(call if_changed,uimage,bzip2) | |
85 | ||
86 | $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz | |
87 | $(call if_changed,uimage,gzip) | |
88 | ||
89 | $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma | |
90 | $(call if_changed,uimage,lzma) | |
91 | ||
50cfa79d PM |
92 | $(obj)/uImage.xz: $(obj)/vmlinux.bin.xz |
93 | $(call if_changed,uimage,xz) | |
94 | ||
c7b16efb PM |
95 | $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo |
96 | $(call if_changed,uimage,lzo) | |
97 | ||
9e24c7e2 MD |
98 | $(obj)/uImage.bin: $(obj)/vmlinux.bin |
99 | $(call if_changed,uimage,none) | |
100 | ||
cf00e204 PM |
101 | OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec |
102 | $(obj)/vmlinux.srec: $(obj)/compressed/vmlinux | |
103 | $(call if_changed,objcopy) | |
104 | ||
105 | OBJCOPYFLAGS_uImage.srec := -I binary -O srec | |
106 | $(obj)/uImage.srec: $(obj)/uImage | |
107 | $(call if_changed,objcopy) | |
108 | ||
ef9b542f PM |
109 | $(obj)/uImage: $(obj)/uImage.$(suffix-y) |
110 | @ln -sf $(notdir $<) $@ | |
111 | @echo ' Image $@ is ready' | |
112 | ||
113 | export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \ | |
e66ac3f2 SH |
114 | CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \ |
115 | KERNEL_MEMORY suffix-y |