xref: /openbmc/linux/arch/xtensa/boot/Makefile (revision b6bec26c)
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 -e __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
24bootdir-$(CONFIG_XTENSA_PLATFORM_ISS)	 += boot-elf
25bootdir-$(CONFIG_XTENSA_PLATFORM_XT2000) += boot-redboot boot-elf boot-uboot
26bootdir-$(CONFIG_XTENSA_PLATFORM_XTFPGA) += boot-redboot boot-elf boot-uboot
27
28
29BUILTIN_DTB := $(patsubst "%",%,$(CONFIG_BUILTIN_DTB)).dtb.o
30ifneq ($(CONFIG_BUILTIN_DTB),"")
31obj-$(CONFIG_OF) += $(BUILTIN_DTB)
32endif
33
34# Rule to build device tree blobs
35$(obj)/%.dtb: $(src)/dts/%.dts FORCE
36	$(call if_changed_dep,dtc)
37
38clean-files := *.dtb.S
39
40zImage Image: $(bootdir-y)
41
42$(bootdir-y): $(addprefix $(obj)/,$(subdir-y)) \
43	      $(addprefix $(obj)/,$(host-progs))
44	$(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKECMDGOALS)
45
46OBJCOPYFLAGS = --strip-all -R .comment -R .note.gnu.build-id -O binary
47
48vmlinux.bin: vmlinux FORCE
49	$(call if_changed,objcopy)
50
51vmlinux.bin.gz: vmlinux.bin FORCE
52	$(call if_changed,gzip)
53
54boot-elf: vmlinux.bin
55boot-redboot: vmlinux.bin.gz
56boot-uboot: vmlinux.bin.gz
57