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, 1998, 2001, 2002 by Ralf Baechle
# Copyright (C) 2004 Maciej W. Rozycki
#
#
# Some DECstations need all possible sections of an ECOFF executable
#
i f d e f C O N F I G _ M A C H _ D E C S T A T I O N
2010-05-30 18:27:33 +04:00
e2eflag := -a
2005-04-17 02:20:36 +04:00
e n d i f
#
# Drop some uninteresting sections in the kernel.
# This is only relevant for ELF kernels but doesn't hurt a.out
#
2010-05-30 18:27:33 +04:00
drop-sections := .reginfo .mdebug .comment .note .pdr .options .MIPS.options
strip-flags := $( addprefix --remove-section= ,$( drop-sections) )
hostprogs-y := elf2ecoff
2015-02-16 18:13:11 +03:00
suffix-y := bin
suffix-$(CONFIG_KERNEL_BZIP2) := bz2
suffix-$(CONFIG_KERNEL_GZIP) := gz
suffix-$(CONFIG_KERNEL_LZMA) := lzma
suffix-$(CONFIG_KERNEL_LZO) := lzo
2010-05-30 18:27:33 +04:00
targets := vmlinux.ecoff
2013-01-22 15:59:30 +04:00
quiet_cmd_ecoff = ECOFF $@
2010-05-30 18:27:33 +04:00
cmd_ecoff = $( obj) /elf2ecoff $( VMLINUX) $@ $( e2eflag)
$(obj)/vmlinux.ecoff : $( obj ) /elf 2ecoff $( VMLINUX ) FORCE
$( call if_changed,ecoff)
targets += vmlinux.bin
quiet_cmd_bin = OBJCOPY $@
cmd_bin = $( OBJCOPY) -O binary $( strip-flags) $( VMLINUX) $@
$(obj)/vmlinux.bin : $( VMLINUX ) FORCE
$( call if_changed,bin)
targets += vmlinux.srec
quiet_cmd_srec = OBJCOPY $@
cmd_srec = $( OBJCOPY) -S -O srec $( strip-flags) $( VMLINUX) $@
$(obj)/vmlinux.srec : $( VMLINUX ) FORCE
$( call if_changed,srec)
2013-08-30 19:42:42 +04:00
UIMAGE_LOADADDR = $( VMLINUX_LOAD_ADDRESS)
UIMAGE_ENTRYADDR = $( VMLINUX_ENTRY_ADDRESS)
2015-02-16 18:13:11 +03:00
#
# Compressed vmlinux images
#
extra-y += vmlinux.bin.bz2
extra-y += vmlinux.bin.gz
extra-y += vmlinux.bin.lzma
extra-y += vmlinux.bin.lzo
$(obj)/vmlinux.bin.bz2 : $( obj ) /vmlinux .bin FORCE
$( call if_changed,bzip2)
2013-08-30 19:42:42 +04:00
$(obj)/vmlinux.bin.gz : $( obj ) /vmlinux .bin FORCE
$( call if_changed,gzip)
2015-02-16 18:13:11 +03:00
$(obj)/vmlinux.bin.lzma : $( obj ) /vmlinux .bin FORCE
$( call if_changed,lzma)
$(obj)/vmlinux.bin.lzo : $( obj ) /vmlinux .bin FORCE
$( call if_changed,lzo)
#
# Compressed u-boot images
#
targets += uImage
targets += uImage.bin
targets += uImage.bz2
2013-08-30 19:42:42 +04:00
targets += uImage.gz
2015-02-16 18:13:11 +03:00
targets += uImage.lzma
targets += uImage.lzo
$(obj)/uImage.bin : $( obj ) /vmlinux .bin FORCE
$( call if_changed,uimage,none)
$(obj)/uImage.bz2 : $( obj ) /vmlinux .bin .bz 2 FORCE
$( call if_changed,uimage,bzip2)
2013-08-30 19:42:42 +04:00
$(obj)/uImage.gz : $( obj ) /vmlinux .bin .gz FORCE
$( call if_changed,uimage,gzip)
2015-02-16 18:13:11 +03:00
$(obj)/uImage.lzma : $( obj ) /vmlinux .bin .lzma FORCE
$( call if_changed,uimage,lzma)
$(obj)/uImage.lzo : $( obj ) /vmlinux .bin .lzo FORCE
$( call if_changed,uimage,lzo)
$(obj)/uImage : $( obj ) /uImage .$( suffix -y )
2013-08-30 19:42:42 +04:00
@ln -sf $( notdir $<) $@
@echo ' Image $@ is ready'