123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- #
- # 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
- #
- ifdef CONFIG_MACH_DECSTATION
- e2eflag := -a
- endif
- #
- # Drop some uninteresting sections in the kernel.
- # This is only relevant for ELF kernels but doesn't hurt a.out
- #
- drop-sections := .reginfo .mdebug .comment .note .pdr .options .MIPS.options
- strip-flags := $(addprefix --remove-section=,$(drop-sections))
- hostprogs-y := elf2ecoff
- suffix-y := bin
- suffix-$(CONFIG_KERNEL_BZIP2) := bz2
- suffix-$(CONFIG_KERNEL_GZIP) := gz
- suffix-$(CONFIG_KERNEL_LZMA) := lzma
- suffix-$(CONFIG_KERNEL_LZO) := lzo
- targets := vmlinux.ecoff
- quiet_cmd_ecoff = ECOFF $@
- cmd_ecoff = $(obj)/elf2ecoff $(VMLINUX) $@ $(e2eflag)
- $(obj)/vmlinux.ecoff: $(obj)/elf2ecoff $(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)
- UIMAGE_LOADADDR = $(VMLINUX_LOAD_ADDRESS)
- UIMAGE_ENTRYADDR = $(VMLINUX_ENTRY_ADDRESS)
- #
- # 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)
- $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE
- $(call if_changed,gzip)
- $(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
- targets += uImage.gz
- targets += uImage.lzma
- targets += uImage.lzo
- $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE
- $(call if_changed,uimage,none)
- $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORCE
- $(call if_changed,uimage,bzip2)
- $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE
- $(call if_changed,uimage,gzip)
- $(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)
- @ln -sf $(notdir $<) $@
- @echo ' Image $@ is ready'
|