1#
2# arch/blackfin/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
9targets := uImage uImage.bin uImage.bz2 uImage.gz uImage.lzma uImage.lzo uImage.xip
10extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma vmlinux.bin.lzo vmlinux.bin.xip
11
12ifeq ($(CONFIG_RAMKERNEL),y)
13UIMAGE_LOADADDR = $(CONFIG_BOOT_LOAD)
14else # CONFIG_ROMKERNEL must be set
15UIMAGE_LOADADDR = $(CONFIG_ROM_BASE)
16endif
17UIMAGE_ENTRYADDR = $(shell $(NM) vmlinux | awk '$$NF == "__start" {print $$1}')
18UIMAGE_NAME = '$(CPU_REV)-$(KERNELRELEASE)'
19UIMAGE_OPTS-$(CONFIG_ROMKERNEL) += -x
20
21$(obj)/vmlinux.bin: vmlinux FORCE
22	$(call if_changed,objcopy)
23
24$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
25	$(call if_changed,gzip)
26
27$(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE
28	$(call if_changed,bzip2)
29
30$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
31	$(call if_changed,lzma)
32
33$(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE
34	$(call if_changed,lzo)
35
36# The mkimage tool wants 64bytes prepended to the image
37quiet_cmd_mk_bin_xip = BIN     $@
38      cmd_mk_bin_xip = ( printf '%64s' | tr ' ' '\377' ; cat $< ) > $@
39$(obj)/vmlinux.bin.xip: $(obj)/vmlinux.bin FORCE
40	$(call if_changed,mk_bin_xip)
41
42$(obj)/uImage.bin: $(obj)/vmlinux.bin
43	$(call if_changed,uimage,none)
44
45$(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2
46	$(call if_changed,uimage,bzip2)
47
48$(obj)/uImage.gz: $(obj)/vmlinux.bin.gz
49	$(call if_changed,uimage,gzip)
50
51$(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma
52	$(call if_changed,uimage,lzma)
53
54$(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo
55	$(call if_changed,uimage,lzo)
56
57$(obj)/uImage.xip: $(obj)/vmlinux.bin.xip
58	$(call if_changed,uimage,none)
59
60suffix-y                      := bin
61suffix-$(CONFIG_KERNEL_GZIP)  := gz
62suffix-$(CONFIG_KERNEL_BZIP2) := bz2
63suffix-$(CONFIG_KERNEL_LZMA)  := lzma
64suffix-$(CONFIG_KERNEL_LZO)   := lzo
65suffix-$(CONFIG_ROMKERNEL)    := xip
66
67$(obj)/uImage: $(obj)/uImage.$(suffix-y)
68	@ln -sf $(notdir $<) $@
69
70install:
71	sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)"
72