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 TorvaldsMKIMAGE := $(srctree)/scripts/mkuboot.sh 151da177e4SLinus Torvalds 161da177e4SLinus Torvaldsifneq ($(MACHINE),) 171da177e4SLinus Torvaldsinclude $(srctree)/$(MACHINE)/Makefile.boot 181da177e4SLinus Torvaldsendif 191da177e4SLinus Torvalds 201da177e4SLinus Torvalds# Note: the following conditions must always be true: 219d4f13e5SRussell King# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET) 221da177e4SLinus Torvalds# PARAMS_PHYS must be within 4MB of ZRELADDR 231da177e4SLinus Torvalds# INITRD_PHYS must be in RAM 241da177e4SLinus TorvaldsZRELADDR := $(zreladdr-y) 251da177e4SLinus TorvaldsPARAMS_PHYS := $(params_phys-y) 261da177e4SLinus TorvaldsINITRD_PHYS := $(initrd_phys-y) 271da177e4SLinus Torvalds 281da177e4SLinus Torvaldsexport ZRELADDR INITRD_PHYS PARAMS_PHYS 291da177e4SLinus Torvalds 301da177e4SLinus Torvaldstargets := Image zImage xipImage bootpImage uImage 311da177e4SLinus Torvalds 321da177e4SLinus Torvaldsifeq ($(CONFIG_XIP_KERNEL),y) 331da177e4SLinus Torvalds 341da177e4SLinus Torvalds$(obj)/xipImage: vmlinux FORCE 351da177e4SLinus Torvalds $(call if_changed,objcopy) 361da177e4SLinus Torvalds @echo ' Kernel: $@ is ready (physical address: $(CONFIG_XIP_PHYS_ADDR))' 371da177e4SLinus Torvalds 381da177e4SLinus Torvalds$(obj)/Image $(obj)/zImage: FORCE 391da177e4SLinus Torvalds @echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)' 401da177e4SLinus Torvalds @echo 'Only the xipImage target is available in this case' 411da177e4SLinus Torvalds @false 421da177e4SLinus Torvalds 431da177e4SLinus Torvaldselse 441da177e4SLinus Torvalds 451da177e4SLinus Torvalds$(obj)/xipImage: FORCE 461da177e4SLinus Torvalds @echo 'Kernel not configured for XIP (CONFIG_XIP_KERNEL!=y)' 471da177e4SLinus Torvalds @false 481da177e4SLinus Torvalds 491da177e4SLinus Torvalds$(obj)/Image: vmlinux FORCE 501da177e4SLinus Torvalds $(call if_changed,objcopy) 511da177e4SLinus Torvalds @echo ' Kernel: $@ is ready' 521da177e4SLinus Torvalds 531da177e4SLinus Torvalds$(obj)/compressed/vmlinux: $(obj)/Image FORCE 541da177e4SLinus Torvalds $(Q)$(MAKE) $(build)=$(obj)/compressed $@ 551da177e4SLinus Torvalds 561da177e4SLinus Torvalds$(obj)/zImage: $(obj)/compressed/vmlinux FORCE 571da177e4SLinus Torvalds $(call if_changed,objcopy) 581da177e4SLinus Torvalds @echo ' Kernel: $@ is ready' 591da177e4SLinus Torvalds 601da177e4SLinus Torvaldsendif 611da177e4SLinus Torvalds 621da177e4SLinus Torvaldsquiet_cmd_uimage = UIMAGE $@ 631da177e4SLinus Torvalds cmd_uimage = $(CONFIG_SHELL) $(MKIMAGE) -A arm -O linux -T kernel \ 641da177e4SLinus Torvalds -C none -a $(ZRELADDR) -e $(ZRELADDR) \ 651da177e4SLinus Torvalds -n 'Linux-$(KERNELRELEASE)' -d $< $@ 661da177e4SLinus Torvalds 671da177e4SLinus Torvalds$(obj)/uImage: $(obj)/zImage FORCE 681da177e4SLinus Torvalds $(call if_changed,uimage) 691da177e4SLinus Torvalds @echo ' Image $@ is ready' 701da177e4SLinus Torvalds 711da177e4SLinus Torvalds$(obj)/bootp/bootp: $(obj)/zImage initrd FORCE 721da177e4SLinus Torvalds $(Q)$(MAKE) $(build)=$(obj)/bootp $@ 731da177e4SLinus Torvalds @: 741da177e4SLinus Torvalds 751da177e4SLinus Torvalds$(obj)/bootpImage: $(obj)/bootp/bootp FORCE 761da177e4SLinus Torvalds $(call if_changed,objcopy) 771da177e4SLinus Torvalds @echo ' Kernel: $@ is ready' 781da177e4SLinus Torvalds 794f193362SPaul SmithPHONY += initrd FORCE 801da177e4SLinus Torvaldsinitrd: 811da177e4SLinus Torvalds @test "$(INITRD_PHYS)" != "" || \ 821da177e4SLinus Torvalds (echo This machine does not support INITRD; exit -1) 831da177e4SLinus Torvalds @test "$(INITRD)" != "" || \ 841da177e4SLinus Torvalds (echo You must specify INITRD; exit -1) 851da177e4SLinus Torvalds 861da177e4SLinus Torvaldsinstall: $(obj)/Image 871da177e4SLinus Torvalds $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ 881da177e4SLinus Torvalds $(obj)/Image System.map "$(INSTALL_PATH)" 891da177e4SLinus Torvalds 901da177e4SLinus Torvaldszinstall: $(obj)/zImage 911da177e4SLinus Torvalds $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ 921da177e4SLinus Torvalds $(obj)/zImage System.map "$(INSTALL_PATH)" 931da177e4SLinus Torvalds 94*13d5fadfSRussell Kingzi: 95*13d5fadfSRussell King $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ 96*13d5fadfSRussell King $(obj)/zImage System.map "$(INSTALL_PATH)" 97*13d5fadfSRussell King 98*13d5fadfSRussell Kingi: 99*13d5fadfSRussell King $(CONFIG_SHELL) $(srctree)/$(src)/install.sh $(KERNELRELEASE) \ 100*13d5fadfSRussell King $(obj)/Image System.map "$(INSTALL_PATH)" 101*13d5fadfSRussell King 1021da177e4SLinus Torvaldssubdir- := bootp compressed 103