^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) # arch/xtensa/boot/Makefile
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) # This file is subject to the terms and conditions of the GNU General Public
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) # License. See the file "COPYING" in the main directory of this archive
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) # for more details.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) # KBUILD_CFLAGS used when building rest of boot (takes effect recursively)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) KBUILD_CFLAGS += -fno-builtin -Iarch/$(ARCH)/boot/include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) HOSTFLAGS += -Iarch/$(ARCH)/boot/include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) BIG_ENDIAN := $(shell echo __XTENSA_EB__ | $(CC) -E - | grep -v "\#")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) export BIG_ENDIAN
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) subdir-y := lib
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) targets += vmlinux.bin vmlinux.bin.gz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) targets += uImage xipImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) # Subdirs for the boot loader(s)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) boot-$(CONFIG_XTENSA_PLATFORM_ISS) += Image
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) boot-$(CONFIG_XTENSA_PLATFORM_XT2000) += Image zImage uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) boot-$(CONFIG_XTENSA_PLATFORM_XTFPGA) += Image zImage uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) all: $(boot-y)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Image: boot-elf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) zImage: boot-redboot
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) uImage: $(obj)/uImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) xipImage: $(obj)/xipImage
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) boot-elf boot-redboot: $(addprefix $(obj)/,$(subdir-y))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) $(Q)$(MAKE) $(build)=$(obj)/$@ $(MAKECMDGOALS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) OBJCOPYFLAGS = --strip-all -R .comment -R .notes -O binary
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) $(obj)/vmlinux.bin: vmlinux FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) $(call if_changed,objcopy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) $(call if_changed,gzip)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) boot-elf: $(obj)/vmlinux.bin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) boot-redboot: $(obj)/vmlinux.bin.gz
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) UIMAGE_LOADADDR = $(CONFIG_KERNEL_LOAD_ADDRESS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) UIMAGE_COMPRESSION = gzip
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) $(obj)/uImage: $(obj)/vmlinux.bin.gz FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) $(call if_changed,uimage)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) $(Q)$(kecho) ' Kernel: $@ is ready'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) $(obj)/xipImage: vmlinux FORCE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) $(call if_changed,objcopy)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) $(Q)$(kecho) ' Kernel: $@ is ready'