2005-04-17 02:20:36 +04:00
#
# arch/arm/boot/Makefile
#
2006-03-06 01:14:10 +03:00
# This file is included by the global makefile so that you can add your own
# architecture-specific flags and dependencies.
#
2005-04-17 02:20:36 +04:00
# This file is subject to the terms and conditions of the GNU General Public
# License. See the file "COPYING" in the main directory of this archive
# for more details.
#
# Copyright (C) 1995-2002 Russell King
#
2016-07-19 13:23:37 +03:00
OBJCOPYFLAGS := -O binary -R .comment -S
2005-04-17 02:20:36 +04:00
i f n e q ( $( MACHINE ) , )
2015-03-27 14:43:35 +03:00
i n c l u d e $( MACHINE ) / M a k e f i l e . b o o t
2005-04-17 02:20:36 +04:00
e n d i f
# Note: the following conditions must always be true:
2010-09-10 01:39:41 +04:00
# ZRELADDR == virt_to_phys(PAGE_OFFSET + TEXT_OFFSET)
2005-04-17 02:20:36 +04:00
# PARAMS_PHYS must be within 4MB of ZRELADDR
# INITRD_PHYS must be in RAM
2010-09-10 01:39:41 +04:00
ZRELADDR := $( zreladdr-y)
2005-04-17 02:20:36 +04:00
PARAMS_PHYS := $( params_phys-y)
INITRD_PHYS := $( initrd_phys-y)
2010-09-10 01:39:41 +04:00
export ZRELADDR INITRD_PHYS PARAMS_PHYS
2005-04-17 02:20:36 +04:00
targets := Image zImage xipImage bootpImage uImage
i f e q ( $( CONFIG_XIP_KERNEL ) , y )
$(obj)/xipImage : vmlinux FORCE
$( call if_changed,objcopy)
2016-05-30 05:01:23 +03:00
@$( kecho) ' Physical Address of xipImage: $(CONFIG_XIP_PHYS_ADDR)'
2005-04-17 02:20:36 +04:00
$(obj)/Image $(obj)/zImage : FORCE
@echo 'Kernel configured for XIP (CONFIG_XIP_KERNEL=y)'
@echo 'Only the xipImage target is available in this case'
@false
e l s e
$(obj)/xipImage : FORCE
@echo 'Kernel not configured for XIP (CONFIG_XIP_KERNEL!=y)'
@false
$(obj)/Image : vmlinux FORCE
$( call if_changed,objcopy)
$(obj)/compressed/vmlinux : $( obj ) /Image FORCE
$( Q) $( MAKE) $( build) = $( obj) /compressed $@
$(obj)/zImage : $( obj ) /compressed /vmlinux FORCE
$( call if_changed,objcopy)
e n d i f
2012-03-17 01:03:55 +04:00
i f n e q ( $( LOADADDR ) , )
UIMAGE_LOADADDR = $( LOADADDR)
2008-03-06 18:22:33 +03:00
e l s e
2012-03-17 01:03:55 +04:00
ifeq ( $( CONFIG_ZBOOT_ROM) ,y)
UIMAGE_LOADADDR = $( CONFIG_ZBOOT_ROM_TEXT)
else
UIMAGE_LOADADDR = $( ZRELADDR)
endif
2008-03-06 18:22:33 +03:00
e n d i f
2011-08-17 17:23:46 +04:00
check_for_multiple_loadaddr = \
2013-02-23 11:02:24 +04:00
i f [ $( words $ ( UIMAGE_LOADADDR ) ) - n e 1 ] ; t h e n \
echo 'multiple (or no) load addresses: $(UIMAGE_LOADADDR)' ; \
2011-08-17 17:23:46 +04:00
echo 'This is incompatible with uImages' ; \
echo 'Specify LOADADDR on the commandline to build an uImage' ; \
false; \
f i
2005-04-17 02:20:36 +04:00
$(obj)/uImage : $( obj ) /zImage FORCE
2011-08-17 17:23:46 +04:00
@$( check_for_multiple_loadaddr)
2005-04-17 02:20:36 +04:00
$( call if_changed,uimage)
$(obj)/bootp/bootp : $( obj ) /zImage initrd FORCE
$( Q) $( MAKE) $( build) = $( obj) /bootp $@
$(obj)/bootpImage : $( obj ) /bootp /bootp FORCE
$( call if_changed,objcopy)
2016-04-05 05:08:26 +03:00
PHONY += initrd install zinstall uinstall
2005-04-17 02:20:36 +04:00
initrd :
@test " $( INITRD_PHYS) " != "" || \
( echo This machine does not support INITRD; exit -1)
@test " $( INITRD) " != "" || \
( echo You must specify INITRD; exit -1)
2013-07-17 20:05:06 +04:00
install :
$( CONFIG_SHELL) $( srctree) /$( src) /install.sh " $( KERNELRELEASE) " \
2005-04-17 02:20:36 +04:00
$( obj) /Image System.map " $( INSTALL_PATH) "
2013-07-17 20:05:06 +04:00
zinstall :
$( CONFIG_SHELL) $( srctree) /$( src) /install.sh " $( KERNELRELEASE) " \
2005-04-17 02:20:36 +04:00
$( obj) /zImage System.map " $( INSTALL_PATH) "
2013-07-17 20:05:06 +04:00
uinstall :
$( CONFIG_SHELL) $( srctree) /$( src) /install.sh " $( KERNELRELEASE) " \
2011-01-08 19:18:51 +03:00
$( obj) /uImage System.map " $( INSTALL_PATH) "
2013-01-23 01:27:29 +04:00
subdir- := bootp compressed dts