Commit | Line | Data |
---|---|---|
1da177e4 LT |
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 | |
961e196c | 14 | e2eflag := -a |
1da177e4 LT |
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 | # | |
961e196c SR |
21 | drop-sections := .reginfo .mdebug .comment .note .pdr .options .MIPS.options |
22 | strip-flags := $(addprefix --remove-section=,$(drop-sections)) | |
23 | ||
24 | hostprogs-y := elf2ecoff | |
25 | ||
9d6b80fa MC |
26 | suffix-y := bin |
27 | suffix-$(CONFIG_KERNEL_BZIP2) := bz2 | |
28 | suffix-$(CONFIG_KERNEL_GZIP) := gz | |
29 | suffix-$(CONFIG_KERNEL_LZMA) := lzma | |
30 | suffix-$(CONFIG_KERNEL_LZO) := lzo | |
31 | ||
961e196c | 32 | targets := vmlinux.ecoff |
70342287 | 33 | quiet_cmd_ecoff = ECOFF $@ |
961e196c SR |
34 | cmd_ecoff = $(obj)/elf2ecoff $(VMLINUX) $@ $(e2eflag) |
35 | $(obj)/vmlinux.ecoff: $(obj)/elf2ecoff $(VMLINUX) FORCE | |
36 | $(call if_changed,ecoff) | |
37 | ||
38 | targets += vmlinux.bin | |
39 | quiet_cmd_bin = OBJCOPY $@ | |
40 | cmd_bin = $(OBJCOPY) -O binary $(strip-flags) $(VMLINUX) $@ | |
41 | $(obj)/vmlinux.bin: $(VMLINUX) FORCE | |
42 | $(call if_changed,bin) | |
43 | ||
44 | targets += vmlinux.srec | |
45 | quiet_cmd_srec = OBJCOPY $@ | |
46 | cmd_srec = $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) $@ | |
47 | $(obj)/vmlinux.srec: $(VMLINUX) FORCE | |
48 | $(call if_changed,srec) | |
4defe455 JH |
49 | |
50 | UIMAGE_LOADADDR = $(VMLINUX_LOAD_ADDRESS) | |
51 | UIMAGE_ENTRYADDR = $(VMLINUX_ENTRY_ADDRESS) | |
52 | ||
9d6b80fa MC |
53 | # |
54 | # Compressed vmlinux images | |
55 | # | |
56 | ||
57 | extra-y += vmlinux.bin.bz2 | |
58 | extra-y += vmlinux.bin.gz | |
59 | extra-y += vmlinux.bin.lzma | |
60 | extra-y += vmlinux.bin.lzo | |
61 | ||
62 | $(obj)/vmlinux.bin.bz2: $(obj)/vmlinux.bin FORCE | |
63 | $(call if_changed,bzip2) | |
64 | ||
4defe455 JH |
65 | $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORCE |
66 | $(call if_changed,gzip) | |
67 | ||
9d6b80fa MC |
68 | $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE |
69 | $(call if_changed,lzma) | |
70 | ||
71 | $(obj)/vmlinux.bin.lzo: $(obj)/vmlinux.bin FORCE | |
72 | $(call if_changed,lzo) | |
73 | ||
74 | # | |
75 | # Compressed u-boot images | |
76 | # | |
77 | ||
78 | targets += uImage | |
79 | targets += uImage.bin | |
80 | targets += uImage.bz2 | |
4defe455 | 81 | targets += uImage.gz |
9d6b80fa MC |
82 | targets += uImage.lzma |
83 | targets += uImage.lzo | |
84 | ||
85 | $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE | |
86 | $(call if_changed,uimage,none) | |
87 | ||
88 | $(obj)/uImage.bz2: $(obj)/vmlinux.bin.bz2 FORCE | |
89 | $(call if_changed,uimage,bzip2) | |
90 | ||
4defe455 JH |
91 | $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE |
92 | $(call if_changed,uimage,gzip) | |
93 | ||
9d6b80fa MC |
94 | $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FORCE |
95 | $(call if_changed,uimage,lzma) | |
96 | ||
97 | $(obj)/uImage.lzo: $(obj)/vmlinux.bin.lzo FORCE | |
98 | $(call if_changed,uimage,lzo) | |
99 | ||
100 | $(obj)/uImage: $(obj)/uImage.$(suffix-y) | |
4defe455 JH |
101 | @ln -sf $(notdir $<) $@ |
102 | @echo ' Image $@ is ready' |