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