xref: /linux/arch/xtensa/boot/Makefile (revision 164666fa66669d437bdcc8d5f1744a2aee73be41)
1#
2# arch/xtensa/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#
9
10
11# KBUILD_CFLAGS used when building rest of boot (takes effect recursively)
12KBUILD_CFLAGS	+= -fno-builtin -Iarch/$(ARCH)/boot/include
13HOSTFLAGS	+= -Iarch/$(ARCH)/boot/include
14
15subdir-y	:= lib
16targets		+= vmlinux.bin vmlinux.bin.gz
17targets		+= uImage xipImage
18
19# Subdirs for the boot loader(s)
20
21boot-$(CONFIG_XTENSA_PLATFORM_ISS)    += Image
22boot-$(CONFIG_XTENSA_PLATFORM_XT2000) += Image zImage uImage
23boot-$(CONFIG_XTENSA_PLATFORM_XTFPGA) += Image zImage uImage
24
25all: $(boot-y)
26Image: boot-elf
27zImage: boot-redboot
28uImage: $(obj)/uImage
29xipImage: $(obj)/xipImage
30
31boot-elf boot-redboot: $(addprefix $(obj)/,$(subdir-y))
32	$(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKECMDGOALS)
33
34OBJCOPYFLAGS = --strip-all -R .comment -R .notes -O binary
35
36$(obj)/vmlinux.bin: vmlinux FORCE
37	$(call if_changed,objcopy)
38
39$(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
40	$(call if_changed,gzip)
41
42boot-elf: $(obj)/vmlinux.bin
43boot-redboot: $(obj)/vmlinux.bin.gz
44
45UIMAGE_LOADADDR = $(CONFIG_KERNEL_LOAD_ADDRESS)
46UIMAGE_COMPRESSION = gzip
47
48$(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE
49	$(call if_changed,uimage)
50	$(Q)$(kecho) '  Kernel: $@ is ready'
51
52$(obj)/xipImage: vmlinux FORCE
53	$(call if_changed,objcopy)
54	$(Q)$(kecho) '  Kernel: $@ is ready'
55