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# 131da177e4SLinus Torvalds 141da177e4SLinus Torvaldsifneq ($(MACHINE),) 157aacad53SMasahiro Yamadainclude $(MACHINE)/Makefile.boot 161da177e4SLinus Torvaldsendif 171da177e4SLinus Torvalds 181da177e4SLinus Torvalds# Note: the following conditions must always be true: 199e84ed63SRussell King# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) 201da177e4SLinus Torvalds# PARAMS_PHYS must be within 4MB of ZRELADDR 211da177e4SLinus Torvalds# INITRD_PHYS must be in RAM 229e84ed63SRussell KingZRELADDR := $(zreladdr-y) 231da177e4SLinus TorvaldsPARAMS_PHYS := $(params_phys-y) 241da177e4SLinus TorvaldsINITRD_PHYS := $(initrd_phys-y) 251da177e4SLinus Torvalds 269e84ed63SRussell Kingexport ZRELADDR INITRD_PHYS PARAMS_PHYS 271da177e4SLinus Torvalds 281da177e4SLinus Torvaldstargets := Image zImage xipImage bootpImage uImage 291da177e4SLinus Torvalds 301da177e4SLinus Torvaldsifeq ($(CONFIG_XIP_KERNEL),y) 311da177e4SLinus Torvalds 321da177e4SLinus Torvalds$(obj)/xipImage: vmlinux FORCE 331da177e4SLinus Torvalds $(call if_changed,objcopy) 34*c6bbfbb7SMasahiro Yamada @$(kecho) ' Physical Address of xipImage: $(CONFIG_XIP_PHYS_ADDR)' 351da177e4SLinus Torvalds 361da177e4SLinus Torvalds$(obj)/Image $(obj)/zImage: FORCE 371da177e4SLinus Torvalds @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' 381da177e4SLinus Torvalds @echo 'Only the xipImage target is available in this case' 391da177e4SLinus Torvalds @false 401da177e4SLinus Torvalds 411da177e4SLinus Torvaldselse 421da177e4SLinus Torvalds 431da177e4SLinus Torvalds$(obj)/xipImage: FORCE 441da177e4SLinus Torvalds @echo 'Kernel not configured for XIP (CONFIG_XIP_KERNEL!=y)' 451da177e4SLinus Torvalds @false 461da177e4SLinus Torvalds 471da177e4SLinus Torvalds$(obj)/Image: vmlinux FORCE 481da177e4SLinus Torvalds $(call if_changed,objcopy) 491da177e4SLinus Torvalds 501da177e4SLinus Torvalds$(obj)/compressed/vmlinux: $(obj)/Image FORCE 511da177e4SLinus Torvalds $(Q)$(MAKE) $(build)=$(obj)/compressed $@ 521da177e4SLinus Torvalds 531da177e4SLinus Torvalds$(obj)/zImage: $(obj)/compressed/vmlinux FORCE 541da177e4SLinus Torvalds $(call if_changed,objcopy) 551da177e4SLinus Torvalds 561da177e4SLinus Torvaldsendif 571da177e4SLinus Torvalds 58e3393645SStephen Warrenifneq ($(LOADADDR),) 59e3393645SStephen Warren UIMAGE_LOADADDR=$(LOADADDR) 600f980146SUwe Kleine-Königelse 61e3393645SStephen Warren ifeq ($(CONFIG_ZBOOT_ROM),y) 62e3393645SStephen Warren UIMAGE_LOADADDR=$(CONFIG_ZBOOT_ROM_TEXT) 63e3393645SStephen Warren else 64e3393645SStephen Warren UIMAGE_LOADADDR=$(ZRELADDR) 65e3393645SStephen Warren endif 660f980146SUwe Kleine-Königendif 670f980146SUwe Kleine-König 68cd227fbfSSascha Hauercheck_for_multiple_loadaddr = \ 69938f94cdSOlof Johanssonif [ $(words $(UIMAGE_LOADADDR)) -ne 1 ]; then \ 70938f94cdSOlof Johansson echo 'multiple (or no) load addresses: $(UIMAGE_LOADADDR)'; \ 71cd227fbfSSascha Hauer echo 'This is incompatible with uImages'; \ 72cd227fbfSSascha Hauer echo 'Specify LOADADDR on the commandline to build an uImage'; \ 73cd227fbfSSascha Hauer false; \ 74cd227fbfSSascha Hauerfi 75cd227fbfSSascha Hauer 761da177e4SLinus Torvalds$(obj)/uImage: $(obj)/zImage FORCE 77cd227fbfSSascha Hauer @$(check_for_multiple_loadaddr) 781da177e4SLinus Torvalds $(call if_changed,uimage) 791da177e4SLinus Torvalds 801da177e4SLinus Torvalds$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE 811da177e4SLinus Torvalds $(Q)$(MAKE) $(build)=$(obj)/bootp $@ 821da177e4SLinus Torvalds 831da177e4SLinus Torvalds$(obj)/bootpImage: $(obj)/bootp/bootp FORCE 841da177e4SLinus Torvalds $(call if_changed,objcopy) 851da177e4SLinus Torvalds 86bc5ce155SMasahiro YamadaPHONY += initrd install zinstall uinstall 871da177e4SLinus Torvaldsinitrd: 881da177e4SLinus Torvalds @test "$(INITRD_PHYS)" != "" || \ 891da177e4SLinus Torvalds (echo This machine does not support INITRD; exit -1) 901da177e4SLinus Torvalds @test "$(INITRD)" != "" || \ 911da177e4SLinus Torvalds (echo You must specify INITRD; exit -1) 921da177e4SLinus Torvalds 9319514fc6SRobert Richterinstall: 9419514fc6SRobert Richter $(CONFIG_SHELL) $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" \ 951da177e4SLinus Torvalds $(obj)/Image System.map "$(INSTALL_PATH)" 961da177e4SLinus Torvalds 9719514fc6SRobert Richterzinstall: 9819514fc6SRobert Richter $(CONFIG_SHELL) $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" \ 991da177e4SLinus Torvalds $(obj)/zImage System.map "$(INSTALL_PATH)" 1001da177e4SLinus Torvalds 10119514fc6SRobert Richteruinstall: 10219514fc6SRobert Richter $(CONFIG_SHELL) $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" \ 103a65d2922SRussell King $(obj)/uImage System.map "$(INSTALL_PATH)" 104a65d2922SRussell King 1059e25fe6bSNishanth Menonsubdir- := bootp compressed dts 106