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
12 # Assign safe dummy values if these variables are not defined,
13 # in order to suppress error message.
15 CONFIG_PAGE_OFFSET ?
= 0x80000000
16 CONFIG_MEMORY_START ?
= 0x0c000000
17 CONFIG_BOOT_LINK_OFFSET ?
= 0x00800000
18 CONFIG_ZERO_PAGE_OFFSET ?
= 0x00001000
19 CONFIG_ENTRY_OFFSET ?
= 0x00001000
20 CONFIG_PHYSICAL_START ?
= $(CONFIG_MEMORY_START
)
23 suffix-
$(CONFIG_KERNEL_GZIP
) := gz
24 suffix-
$(CONFIG_KERNEL_BZIP2
) := bz2
25 suffix-
$(CONFIG_KERNEL_LZMA
) := lzma
26 suffix-
$(CONFIG_KERNEL_XZ
) := xz
27 suffix-
$(CONFIG_KERNEL_LZO
) := lzo
29 targets
:= zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \
30 uImage.bz2 uImage.lzma uImage.xz uImage.lzo uImage.bin
31 extra-y
+= vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \
32 vmlinux.bin.xz vmlinux.bin.lzo
33 subdir-
:= compressed romimage
35 $(obj
)/zImage
: $(obj
)/compressed
/vmlinux FORCE
36 $(call if_changed
,objcopy
)
37 @echo
' Kernel: $@ is ready'
39 $(obj
)/compressed
/vmlinux
: FORCE
40 $(Q
)$(MAKE
) $(build
)=$(obj
)/compressed
$@
42 $(obj
)/romImage
: $(obj
)/romimage
/vmlinux FORCE
43 $(call if_changed
,objcopy
)
44 @echo
' Kernel: $@ is ready'
46 $(obj
)/romimage
/vmlinux
: $(obj
)/zImage FORCE
47 $(Q
)$(MAKE
) $(build
)=$(obj
)/romimage
$@
49 KERNEL_MEMORY
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
50 $$[$(CONFIG_PHYSICAL_START) & 0x1fffffff]')
52 KERNEL_LOAD
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
53 $$[$(CONFIG_PAGE_OFFSET) + \
55 $(CONFIG_ZERO_PAGE_OFFSET)]')
57 KERNEL_ENTRY
:= $(shell /bin
/bash
-c
'printf "0x%08x" \
58 $$[$(CONFIG_PAGE_OFFSET) + \
60 $(CONFIG_ZERO_PAGE_OFFSET) + $(CONFIG_ENTRY_OFFSET)]')
62 UIMAGE_LOADADDR
= $(KERNEL_LOAD
)
63 UIMAGE_ENTRYADDR
= $(KERNEL_ENTRY
)
65 $(obj
)/vmlinux.bin
: vmlinux FORCE
66 $(call if_changed
,objcopy
)
68 $(obj
)/vmlinux.bin.gz
: $(obj
)/vmlinux.bin FORCE
69 $(call if_changed
,gzip
)
71 $(obj
)/vmlinux.bin.bz2
: $(obj
)/vmlinux.bin FORCE
72 $(call if_changed
,bzip2
)
74 $(obj
)/vmlinux.bin.lzma
: $(obj
)/vmlinux.bin FORCE
75 $(call if_changed
,lzma
)
77 $(obj
)/vmlinux.bin.xz
: $(obj
)/vmlinux.bin FORCE
78 $(call if_changed
,xzkern
)
80 $(obj
)/vmlinux.bin.lzo
: $(obj
)/vmlinux.bin FORCE
81 $(call if_changed
,lzo
)
83 $(obj
)/uImage.bz2
: $(obj
)/vmlinux.bin.bz2
84 $(call if_changed
,uimage
,bzip2
)
86 $(obj
)/uImage.gz
: $(obj
)/vmlinux.bin.gz
87 $(call if_changed
,uimage
,gzip
)
89 $(obj
)/uImage.lzma
: $(obj
)/vmlinux.bin.lzma
90 $(call if_changed
,uimage
,lzma
)
92 $(obj
)/uImage.xz
: $(obj
)/vmlinux.bin.xz
93 $(call if_changed
,uimage
,xz
)
95 $(obj
)/uImage.lzo
: $(obj
)/vmlinux.bin.lzo
96 $(call if_changed
,uimage
,lzo
)
98 $(obj
)/uImage.bin
: $(obj
)/vmlinux.bin
99 $(call if_changed
,uimage
,none
)
101 OBJCOPYFLAGS_vmlinux.srec
:= -I binary
-O srec
102 $(obj
)/vmlinux.srec
: $(obj
)/compressed
/vmlinux
103 $(call if_changed
,objcopy
)
105 OBJCOPYFLAGS_uImage.srec
:= -I binary
-O srec
106 $(obj
)/uImage.srec
: $(obj
)/uImage
107 $(call if_changed
,objcopy
)
109 $(obj
)/uImage
: $(obj
)/uImage.
$(suffix-y
)
110 @ln
-sf
$(notdir $<) $@
111 @echo
' Image $@ is ready'
113 export CONFIG_PAGE_OFFSET CONFIG_MEMORY_START CONFIG_BOOT_LINK_OFFSET \
114 CONFIG_PHYSICAL_START CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET \
115 KERNEL_MEMORY suffix-y