162306a36Sopenharmony_ci# 262306a36Sopenharmony_ci# arch/arm/boot/Makefile 362306a36Sopenharmony_ci# 462306a36Sopenharmony_ci# This file is included by the global makefile so that you can add your own 562306a36Sopenharmony_ci# architecture-specific flags and dependencies. 662306a36Sopenharmony_ci# 762306a36Sopenharmony_ci# This file is subject to the terms and conditions of the GNU General Public 862306a36Sopenharmony_ci# License. See the file "COPYING" in the main directory of this archive 962306a36Sopenharmony_ci# for more details. 1062306a36Sopenharmony_ci# 1162306a36Sopenharmony_ci# Copyright (C) 1995-2002 Russell King 1262306a36Sopenharmony_ci# 1362306a36Sopenharmony_ciOBJCOPYFLAGS :=-O binary -R .comment -S 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) 1662306a36Sopenharmony_ciifdef CONFIG_PHYS_OFFSET 1762306a36Sopenharmony_ciadd_hex = $(shell printf 0x%x $$(( $(1) + $(2) )) ) 1862306a36Sopenharmony_ciZRELADDR := $(call add_hex, $(CONFIG_PHYS_OFFSET), $(TEXT_OFFSET)) 1962306a36Sopenharmony_ciendif 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciPHYS_OFFSET := $(CONFIG_PHYS_OFFSET) 2262306a36Sopenharmony_ciexport ZRELADDR PARAMS_PHYS PHYS_OFFSET 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_citargets := Image zImage xipImage bootpImage uImage 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciifeq ($(CONFIG_XIP_KERNEL),y) 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_cicmd_deflate_xip_data = $(CONFIG_SHELL) -c \ 2962306a36Sopenharmony_ci '$(srctree)/$(src)/deflate_xip_data.sh $< $@' 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciifeq ($(CONFIG_XIP_DEFLATED_DATA),y) 3262306a36Sopenharmony_ciquiet_cmd_mkxip = XIPZ $@ 3362306a36Sopenharmony_cicmd_mkxip = $(cmd_objcopy) && $(cmd_deflate_xip_data) 3462306a36Sopenharmony_cielse 3562306a36Sopenharmony_ciquiet_cmd_mkxip = $(quiet_cmd_objcopy) 3662306a36Sopenharmony_cicmd_mkxip = $(cmd_objcopy) 3762306a36Sopenharmony_ciendif 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci$(obj)/xipImage: vmlinux FORCE 4062306a36Sopenharmony_ci $(call if_changed,mkxip) 4162306a36Sopenharmony_ci @$(kecho) ' Physical Address of xipImage: $(CONFIG_XIP_PHYS_ADDR)' 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci$(obj)/Image $(obj)/zImage: FORCE 4462306a36Sopenharmony_ci @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' 4562306a36Sopenharmony_ci @echo 'Only the xipImage target is available in this case' 4662306a36Sopenharmony_ci @false 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_cielse 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci$(obj)/xipImage: FORCE 5162306a36Sopenharmony_ci @echo 'Kernel not configured for XIP (CONFIG_XIP_KERNEL!=y)' 5262306a36Sopenharmony_ci @false 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci$(obj)/Image: vmlinux FORCE 5562306a36Sopenharmony_ci $(call if_changed,objcopy) 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci$(obj)/compressed/vmlinux: $(obj)/Image FORCE 5862306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=$(obj)/compressed $@ 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci$(obj)/zImage: $(obj)/compressed/vmlinux FORCE 6162306a36Sopenharmony_ci $(call if_changed,objcopy) 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ciendif 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciifneq ($(LOADADDR),) 6662306a36Sopenharmony_ci UIMAGE_LOADADDR=$(LOADADDR) 6762306a36Sopenharmony_cielse 6862306a36Sopenharmony_ci ifeq ($(CONFIG_ZBOOT_ROM),y) 6962306a36Sopenharmony_ci UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) 7062306a36Sopenharmony_ci else 7162306a36Sopenharmony_ci UIMAGE_LOADADDR=$(ZRELADDR) 7262306a36Sopenharmony_ci endif 7362306a36Sopenharmony_ciendif 7462306a36Sopenharmony_ci 7562306a36Sopenharmony_cicheck_for_multiple_loadaddr = \ 7662306a36Sopenharmony_ciif [ $(words $(UIMAGE_LOADADDR)) -ne 1 ]; then \ 7762306a36Sopenharmony_ci echo 'multiple (or no) load addresses: $(UIMAGE_LOADADDR)'; \ 7862306a36Sopenharmony_ci echo 'This is incompatible with uImages'; \ 7962306a36Sopenharmony_ci echo 'Specify LOADADDR on the commandline to build an uImage'; \ 8062306a36Sopenharmony_ci false; \ 8162306a36Sopenharmony_cifi 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci$(obj)/uImage: $(obj)/zImage FORCE 8462306a36Sopenharmony_ci @$(check_for_multiple_loadaddr) 8562306a36Sopenharmony_ci $(call if_changed,uimage) 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci$(obj)/bootp/bootp: $(obj)/zImage FORCE 8862306a36Sopenharmony_ci $(Q)$(MAKE) $(build)=$(obj)/bootp $@ 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci$(obj)/bootpImage: $(obj)/bootp/bootp FORCE 9162306a36Sopenharmony_ci $(call if_changed,objcopy) 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_cisubdir- := bootp compressed dts 94