2005-04-16 15:20:36 -07:00
#
# arch/sh/boot/Makefile
#
# 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) 1999 Stuart Menefy
#
2006-12-07 17:00:32 +09:00
MKIMAGE := $( srctree) /scripts/mkuboot.sh
#
# Assign safe dummy values if these variables are not defined,
# in order to suppress error message.
#
CONFIG_PAGE_OFFSET ?= 0x80000000
CONFIG_MEMORY_START ?= 0x0c000000
CONFIG_BOOT_LINK_OFFSET ?= 0x00800000
CONFIG_ZERO_PAGE_OFFSET ?= 0x00001000
2008-07-29 09:15:01 +09:00
CONFIG_ENTRY_OFFSET ?= 0x00001000
2006-12-07 17:00:32 +09:00
2009-10-26 10:12:39 +00:00
suffix-y := bin
2010-01-13 13:29:19 +09:00
suffix-$(CONFIG_KERNEL_GZIP) := gz
suffix-$(CONFIG_KERNEL_BZIP2) := bz2
suffix-$(CONFIG_KERNEL_LZMA) := lzma
suffix-$(CONFIG_KERNEL_LZO) := lzo
targets := zImage vmlinux.srec romImage uImage uImage.srec uImage.gz \
uImage.bz2 uImage.lzma uImage.lzo uImage.bin
extra-y += vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinux.bin.lzma \
vmlinux.bin.lzo
2009-07-29 15:04:05 +00:00
subdir- := compressed romimage
2005-04-16 15:20:36 -07:00
$(obj)/zImage : $( obj ) /compressed /vmlinux FORCE
$( call if_changed,objcopy)
2006-12-07 17:00:32 +09:00
@echo ' Kernel: $@ is ready'
2005-04-16 15:20:36 -07:00
$(obj)/compressed/vmlinux : FORCE
$( Q) $( MAKE) $( build) = $( obj) /compressed $@
2009-07-29 15:04:05 +00:00
$(obj)/romImage : $( obj ) /romimage /vmlinux FORCE
$( call if_changed,objcopy)
@echo ' Kernel: $@ is ready'
$(obj)/romimage/vmlinux : $( obj ) /zImage FORCE
$( Q) $( MAKE) $( build) = $( obj) /romimage $@
2010-01-13 18:31:48 +09:00
KERNEL_MEMORY := $( shell /bin/bash -c ' printf "0x%08x" \
2009-03-10 15:49:54 +09:00
$$ [ $( CONFIG_MEMORY_START) & 0x1fffffff] ' )
2008-03-14 17:19:38 +09:00
KERNEL_LOAD := $( shell /bin/bash -c ' printf "0x%08x" \
2007-07-26 17:43:41 +09:00
$$ [ $( CONFIG_PAGE_OFFSET) + \
2009-03-10 15:49:54 +09:00
$( KERNEL_MEMORY) + \
2007-11-30 18:22:10 +09:00
$( CONFIG_ZERO_PAGE_OFFSET) ] ' )
2008-03-14 17:19:38 +09:00
KERNEL_ENTRY := $( shell /bin/bash -c ' printf "0x%08x" \
2007-12-17 16:08:49 +09:00
$$ [ $( CONFIG_PAGE_OFFSET) + \
2009-03-10 15:49:54 +09:00
$( KERNEL_MEMORY) + \
2008-07-23 16:49:06 +09:00
$( CONFIG_ZERO_PAGE_OFFSET) + $( CONFIG_ENTRY_OFFSET) ] ' )
2006-12-07 17:00:32 +09:00
quiet_cmd_uimage = UIMAGE $@
cmd_uimage = $( CONFIG_SHELL) $( MKIMAGE) -A sh -O linux -T kernel \
2009-07-21 17:24:36 +09:00
-C $( 2) -a $( KERNEL_LOAD) -e $( KERNEL_ENTRY) \
2006-12-07 17:00:32 +09:00
-n 'Linux-$(KERNELRELEASE)' -d $< $@
2007-11-30 18:22:10 +09:00
$(obj)/vmlinux.bin : vmlinux FORCE
$( call if_changed,objcopy)
$(obj)/vmlinux.bin.gz : $( obj ) /vmlinux .bin FORCE
$( call if_changed,gzip)
2009-07-21 17:24:36 +09:00
$(obj)/vmlinux.bin.bz2 : $( obj ) /vmlinux .bin FORCE
$( call if_changed,bzip2)
$(obj)/vmlinux.bin.lzma : $( obj ) /vmlinux .bin FORCE
$( call if_changed,lzma)
2010-01-13 13:29:19 +09:00
$(obj)/vmlinux.bin.lzo : $( obj ) /vmlinux .bin FORCE
$( call if_changed,lzo)
2009-07-21 17:24:36 +09:00
$(obj)/uImage.bz2 : $( obj ) /vmlinux .bin .bz 2
$( call if_changed,uimage,bzip2)
$(obj)/uImage.gz : $( obj ) /vmlinux .bin .gz
$( call if_changed,uimage,gzip)
$(obj)/uImage.lzma : $( obj ) /vmlinux .bin .lzma
$( call if_changed,uimage,lzma)
2010-01-13 13:29:19 +09:00
$(obj)/uImage.lzo : $( obj ) /vmlinux .bin .lzo
$( call if_changed,uimage,lzo)
2009-10-26 10:12:39 +00:00
$(obj)/uImage.bin : $( obj ) /vmlinux .bin
$( call if_changed,uimage,none)
2006-12-07 17:00:32 +09:00
OBJCOPYFLAGS_vmlinux.srec := -I binary -O srec
$(obj)/vmlinux.srec : $( obj ) /compressed /vmlinux
$( call if_changed,objcopy)
OBJCOPYFLAGS_uImage.srec := -I binary -O srec
$(obj)/uImage.srec : $( obj ) /uImage
$( call if_changed,objcopy)
2009-07-21 17:24:36 +09:00
$(obj)/uImage : $( obj ) /uImage .$( suffix -y )
@ln -sf $( notdir $<) $@
@echo ' Image $@ is ready'
export C O N F I G _ P A G E _ O F F S E T C O N F I G _ M E M O R Y _ S T A R T C O N F I G _ B O O T _ L I N K _ O F F S E T \
CONFIG_ZERO_PAGE_OFFSET CONFIG_ENTRY_OFFSET KERNEL_MEMORY suffix-y