Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | # |
| 2 | # This file is subject to the terms and conditions of the GNU General Public |
| 3 | # License. See the file "COPYING" in the main directory of this archive |
| 4 | # for more details. |
| 5 | # |
| 6 | # Copyright (C) 1995, 1998, 2001, 2002 by Ralf Baechle |
| 7 | # Copyright (C) 2004 Maciej W. Rozycki |
| 8 | # |
| 9 | |
| 10 | # |
| 11 | # Some DECstations need all possible sections of an ECOFF executable |
| 12 | # |
| 13 | ifdef CONFIG_MACH_DECSTATION |
Sam Ravnborg | 961e196 | 2010-05-30 16:27:33 +0200 | [diff] [blame] | 14 | e2eflag := -a |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 15 | endif |
| 16 | |
| 17 | # |
| 18 | # Drop some uninteresting sections in the kernel. |
| 19 | # This is only relevant for ELF kernels but doesn't hurt a.out |
| 20 | # |
Sam Ravnborg | 961e196 | 2010-05-30 16:27:33 +0200 | [diff] [blame] | 21 | drop-sections := .reginfo .mdebug .comment .note .pdr .options .MIPS.options |
| 22 | strip-flags := $(addprefix --remove-section=,$(drop-sections)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | |
Sam Ravnborg | 961e196 | 2010-05-30 16:27:33 +0200 | [diff] [blame] | 24 | hostprogs-y := elf2ecoff |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 25 | |
Sam Ravnborg | 961e196 | 2010-05-30 16:27:33 +0200 | [diff] [blame] | 26 | targets := vmlinux.ecoff |
Ralf Baechle | 7034228 | 2013-01-22 12:59:30 +0100 | [diff] [blame] | 27 | quiet_cmd_ecoff = ECOFF $@ |
Sam Ravnborg | 961e196 | 2010-05-30 16:27:33 +0200 | [diff] [blame] | 28 | cmd_ecoff = $(obj)/elf2ecoff $(VMLINUX) $@ $(e2eflag) |
| 29 | $(obj)/vmlinux.ecoff: $(obj)/elf2ecoff $(VMLINUX) FORCE |
| 30 | $(call if_changed,ecoff) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | |
Sam Ravnborg | 961e196 | 2010-05-30 16:27:33 +0200 | [diff] [blame] | 32 | targets += vmlinux.bin |
| 33 | quiet_cmd_bin = OBJCOPY $@ |
| 34 | cmd_bin = $(OBJCOPY) -O binary $(strip-flags) $(VMLINUX) $@ |
| 35 | $(obj)/vmlinux.bin: $(VMLINUX) FORCE |
| 36 | $(call if_changed,bin) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 37 | |
Sam Ravnborg | 961e196 | 2010-05-30 16:27:33 +0200 | [diff] [blame] | 38 | targets += vmlinux.srec |
| 39 | quiet_cmd_srec = OBJCOPY $@ |
| 40 | cmd_srec = $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) $@ |
| 41 | $(obj)/vmlinux.srec: $(VMLINUX) FORCE |
| 42 | $(call if_changed,srec) |
James Hogan | 4defe45 | 2013-08-30 16:42:42 +0100 | [diff] [blame] | 43 | |
| 44 | UIMAGE_LOADADDR = $(VMLINUX_LOAD_ADDRESS) |
| 45 | UIMAGE_ENTRYADDR = $(VMLINUX_ENTRY_ADDRESS) |
| 46 | |
| 47 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE |
| 48 | $(call if_changed,gzip) |
| 49 | |
| 50 | targets += uImage.gz |
| 51 | $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE |
| 52 | $(call if_changed,uimage,gzip) |
| 53 | |
| 54 | targets += uImage |
| 55 | $(obj)/uImage: $(obj)/uImage.gz FORCE |
| 56 | @ln -sf $(notdir $<) $@ |
| 57 | @echo ' Image $@ is ready' |