2 # arch/sh/boot/Makefile
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
8 # Copyright (C) 1999 Stuart Menefy
11 MKIMAGE
:= $(srctree
)/scripts
/mkuboot.sh
14 # Assign safe dummy values if these variables are not defined,
15 # in order to suppress error message.
17 CONFIG_PAGE_OFFSET ?
= 0x80000000
18 CONFIG_MEMORY_START ?
= 0x0c000000
19 CONFIG_BOOT_LINK_OFFSET ?
= 0x00800000
20 CONFIG_ZERO_PAGE_OFFSET ?
= 0x00001000
21 CONFIG_ENTRY_OFFSET ?
= 0x00001000
23 suffix-
$(CONFIG_KERNEL_GZIP
) := gz
24 suffix-
$(CONFIG_KERNEL_BZIP2
) := bz2
25 suffix-
$(CONFIG_KERNEL_LZMA
) := lzma
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
31 $(obj
)/zImage
: $(obj
)/compressed
/vmlinux FORCE
32 $(call if_changed
,objcopy
)
33 @echo
' Kernel: $@ is ready'
35 $(obj
)/compressed
/vmlinux
: FORCE
36 $(Q
)$(MAKE
) $(build
)=$(obj
)/compressed
$@
38 $(obj
)/romImage
: $(obj
)/romimage
/vmlinux FORCE
39 $(call if_changed
,objcopy
)
40 @echo
' Kernel: $@ is ready'
42 $(obj
)/romimage
/vmlinux
: $(obj
)/zImage FORCE
43 $(Q
)$(MAKE
) $(build
)=$(obj
)/romimage
$@
45 KERNEL_MEMORY
:= 0x00000000
46 ifeq ($(CONFIG_PMB_FIXED
),y
)
47 KERNEL_MEMORY
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
48 $$[$(CONFIG_MEMORY_START) & 0x1fffffff]')
50 ifeq ($(CONFIG_29BIT
),y
)
51 KERNEL_MEMORY
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
52 $$[$(CONFIG_MEMORY_START)]')
55 KERNEL_LOAD
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
56 $$[$(CONFIG_PAGE_OFFSET) + \
58 $(CONFIG_ZERO_PAGE_OFFSET)]')
60 KERNEL_ENTRY
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
61 $$[$(CONFIG_PAGE_OFFSET) + \
63 $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
65 quiet_cmd_uimage
= UIMAGE
$@
66 cmd_uimage
= $(CONFIG_SHELL
) $(MKIMAGE
) -A sh
-O linux
-T kernel \
67 -C
$(2) -a
$(KERNEL_LOAD
) -e
$(KERNEL_ENTRY
) \
68 -n
'Linux-$(KERNELRELEASE)' -d
$< $@
70 $(obj
)/vmlinux.bin
: vmlinux FORCE
71 $(call if_changed
,objcopy
)
73 $(obj
)/vmlinux.bin.gz
: $(obj
)/vmlinux.bin FORCE
74 $(call if_changed
,gzip
)
76 $(obj
)/vmlinux.bin.bz2
: $(obj
)/vmlinux.bin FORCE
77 $(call if_changed
,bzip2
)
79 $(obj
)/vmlinux.bin.lzma
: $(obj
)/vmlinux.bin FORCE
80 $(call if_changed
,lzma
)
82 $(obj
)/uImage.bz2
: $(obj
)/vmlinux.bin.bz2
83 $(call if_changed
,uimage
,bzip2
)
85 $(obj
)/uImage.gz
: $(obj
)/vmlinux.bin.gz
86 $(call if_changed
,uimage
,gzip
)
88 $(obj
)/uImage.lzma
: $(obj
)/vmlinux.bin.lzma
89 $(call if_changed
,uimage
,lzma
)
91 OBJCOPYFLAGS_vmlinux.srec
:= -I binary
-O srec
92 $(obj
)/vmlinux.srec
: $(obj
)/compressed
/vmlinux
93 $(call if_changed
,objcopy
)
95 OBJCOPYFLAGS_uImage.srec
:= -I binary
-O srec
96 $(obj
)/uImage.srec
: $(obj
)/uImage
97 $(call if_changed
,objcopy
)
99 $(obj
)/uImage
: $(obj
)/uImage.
$(suffix-y
)
100 @ln
-sf
$(notdir $<) $@
101 @echo
' Image $@ is ready'
103 export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \
104 CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET KERNEL_MEMORY suffix-y