11da177e4SLinus Torvalds# 21da177e4SLinus Torvalds# arch/arm/boot/Makefile 31da177e4SLinus Torvalds# 44f193362SPaul Smith# This file is included by the global makefile so that you can add your own 54f193362SPaul Smith# architecture-specific flags and dependencies. 64f193362SPaul Smith# 71da177e4SLinus Torvalds# This file is subject to the terms and conditions of the GNU General Public 81da177e4SLinus Torvalds# License. See the file "COPYING" in the main directory of this archive 91da177e4SLinus Torvalds# for more details. 101da177e4SLinus Torvalds# 111da177e4SLinus Torvalds# Copyright (C) 1995-2002 Russell King 121da177e4SLinus Torvalds# 133cb59581SMark RutlandOBJCOPYFLAGS :=-O binary -R .comment -S 143cb59581SMark Rutland 1592481c7dSArnd Bergmann# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) 1692481c7dSArnd Bergmannifdef CONFIG_PHYS_OFFSET 1792481c7dSArnd Bergmannadd_hex = $(shell printf 0x%x $$(( $(1) + $(2) )) ) 1892481c7dSArnd BergmannZRELADDR := $(call add_hex, $(CONFIG_PHYS_OFFSET), $(TEXT_OFFSET)) 191da177e4SLinus Torvaldsendif 201da177e4SLinus Torvalds 2192481c7dSArnd BergmannPHYS_OFFSET := $(CONFIG_PHYS_OFFSET) 2292481c7dSArnd Bergmannexport ZRELADDR PARAMS_PHYS PHYS_OFFSET 231da177e4SLinus Torvalds 241da177e4SLinus Torvaldstargets := Image zImage xipImage bootpImage uImage 251da177e4SLinus Torvalds 261da177e4SLinus Torvaldsifeq ($(CONFIG_XIP_KERNEL),y) 271da177e4SLinus Torvalds 28*b1992c37SMasahiro Yamadacmd_deflate_xip_data = $(CONFIG_SHELL) -c '$(src)/deflate_xip_data.sh $< $@' 29ca8b5d97SNicolas Pitre 30ca8b5d97SNicolas Pitreifeq ($(CONFIG_XIP_DEFLATED_DATA),y) 31ca8b5d97SNicolas Pitrequiet_cmd_mkxip = XIPZ $@ 32ca8b5d97SNicolas Pitrecmd_mkxip = $(cmd_objcopy) && $(cmd_deflate_xip_data) 33ca8b5d97SNicolas Pitreelse 34ca8b5d97SNicolas Pitrequiet_cmd_mkxip = $(quiet_cmd_objcopy) 35ca8b5d97SNicolas Pitrecmd_mkxip = $(cmd_objcopy) 36ca8b5d97SNicolas Pitreendif 37ca8b5d97SNicolas Pitre 381da177e4SLinus Torvalds$(obj)/xipImage: vmlinux FORCE 39ca8b5d97SNicolas Pitre $(call if_changed,mkxip) 40c6bbfbb7SMasahiro Yamada @$(kecho) ' Physical Address of xipImage: $(CONFIG_XIP_PHYS_ADDR)' 411da177e4SLinus Torvalds 421da177e4SLinus Torvalds$(obj)/Image $(obj)/zImage: FORCE 431da177e4SLinus Torvalds @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' 441da177e4SLinus Torvalds @echo 'Only the xipImage target is available in this case' 451da177e4SLinus Torvalds @false 461da177e4SLinus Torvalds 471da177e4SLinus Torvaldselse 481da177e4SLinus Torvalds 491da177e4SLinus Torvalds$(obj)/xipImage: FORCE 501da177e4SLinus Torvalds @echo 'Kernel not configured for XIP (CONFIG_XIP_KERNEL!=y)' 511da177e4SLinus Torvalds @false 521da177e4SLinus Torvalds 531da177e4SLinus Torvalds$(obj)/Image: vmlinux FORCE 541da177e4SLinus Torvalds $(call if_changed,objcopy) 551da177e4SLinus Torvalds 561da177e4SLinus Torvalds$(obj)/compressed/vmlinux: $(obj)/Image FORCE 571da177e4SLinus Torvalds $(Q)$(MAKE) $(build)=$(obj)/compressed $@ 581da177e4SLinus Torvalds 591da177e4SLinus Torvalds$(obj)/zImage: $(obj)/compressed/vmlinux FORCE 601da177e4SLinus Torvalds $(call if_changed,objcopy) 611da177e4SLinus Torvalds 621da177e4SLinus Torvaldsendif 631da177e4SLinus Torvalds 64e3393645SStephen Warrenifneq ($(LOADADDR),) 65e3393645SStephen Warren UIMAGE_LOADADDR=$(LOADADDR) 660f980146SUwe Kleine-Königelse 67e3393645SStephen Warren ifeq ($(CONFIG_ZBOOT_ROM),y) 68e3393645SStephen Warren UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) 69e3393645SStephen Warren else 70e3393645SStephen Warren UIMAGE_LOADADDR=$(ZRELADDR) 71e3393645SStephen Warren endif 720f980146SUwe Kleine-Königendif 730f980146SUwe Kleine-König 74cd227fbfSSascha Hauercheck_for_multiple_loadaddr = \ 75938f94cdSOlof Johanssonif [ $(words $(UIMAGE_LOADADDR)) -ne 1 ]; then \ 76938f94cdSOlof Johansson echo 'multiple (or no) load addresses: $(UIMAGE_LOADADDR)'; \ 77cd227fbfSSascha Hauer echo 'This is incompatible with uImages'; \ 78cd227fbfSSascha Hauer echo 'Specify LOADADDR on the commandline to build an uImage'; \ 79cd227fbfSSascha Hauer false; \ 80cd227fbfSSascha Hauerfi 81cd227fbfSSascha Hauer 821da177e4SLinus Torvalds$(obj)/uImage: $(obj)/zImage FORCE 83cd227fbfSSascha Hauer @$(check_for_multiple_loadaddr) 841da177e4SLinus Torvalds $(call if_changed,uimage) 851da177e4SLinus Torvalds 8692481c7dSArnd Bergmann$(obj)/bootp/bootp: $(obj)/zImage FORCE 871da177e4SLinus Torvalds $(Q)$(MAKE) $(build)=$(obj)/bootp $@ 881da177e4SLinus Torvalds 891da177e4SLinus Torvalds$(obj)/bootpImage: $(obj)/bootp/bootp FORCE 901da177e4SLinus Torvalds $(call if_changed,objcopy) 911da177e4SLinus Torvalds 929e25fe6bSNishanth Menonsubdir- := bootp compressed dts 93