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