Makefile (7a996d3ab150bb0e1b71fa182f70199a703efdd1) | Makefile (35eaa1e9c9b4579100320814aeebff167ee59b0a) |
---|---|
1# 2# This file is subject to the terms and conditions of the GNU General Public 3# License. 4# 5# Adapted for MIPS Pete Popov, Dan Malek 6# 7# Copyright (C) 1994 by Linus Torvalds 8# Adapted for PowerPC by Gary Thomas --- 19 unchanged lines hidden (view full) --- 28 29KBUILD_CFLAGS := $(LINUXINCLUDE) $(KBUILD_CFLAGS) -D__KERNEL__ \ 30 -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull" 31 32KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \ 33 -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \ 34 -DKERNEL_ENTRY=0x$(shell $(NM) $(objtree)/$(KBUILD_IMAGE) 2>/dev/null | grep " kernel_entry" | cut -f1 -d \ ) 35 | 1# 2# This file is subject to the terms and conditions of the GNU General Public 3# License. 4# 5# Adapted for MIPS Pete Popov, Dan Malek 6# 7# Copyright (C) 1994 by Linus Torvalds 8# Adapted for PowerPC by Gary Thomas --- 19 unchanged lines hidden (view full) --- 28 29KBUILD_CFLAGS := $(LINUXINCLUDE) $(KBUILD_CFLAGS) -D__KERNEL__ \ 30 -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) -D"VMLINUX_LOAD_ADDRESS_ULL=$(VMLINUX_LOAD_ADDRESS)ull" 31 32KBUILD_AFLAGS := $(LINUXINCLUDE) $(KBUILD_AFLAGS) -D__ASSEMBLY__ \ 33 -DBOOT_HEAP_SIZE=$(BOOT_HEAP_SIZE) \ 34 -DKERNEL_ENTRY=0x$(shell $(NM) $(objtree)/$(KBUILD_IMAGE) 2>/dev/null | grep " kernel_entry" | cut -f1 -d \ ) 35 |
36obj-y := $(obj)/head.o $(obj)/decompress.o $(obj)/dbg.o | 36targets := head.o decompress.o dbg.o uart-16550.o uart-alchemy.o |
37 | 37 |
38# decompressor objects (linked with vmlinuz) 39vmlinuzobjs-y := $(obj)/head.o $(obj)/decompress.o $(obj)/dbg.o 40 |
|
38ifdef CONFIG_DEBUG_ZBOOT | 41ifdef CONFIG_DEBUG_ZBOOT |
39obj-$(CONFIG_SYS_SUPPORTS_ZBOOT_UART16550) += $(obj)/uart-16550.o 40obj-$(CONFIG_MACH_ALCHEMY) += $(obj)/uart-alchemy.o | 42vmlinuzobjs-$(CONFIG_SYS_SUPPORTS_ZBOOT_UART16550) += $(obj)/uart-16550.o 43vmlinuzobjs-$(CONFIG_MACH_ALCHEMY) += $(obj)/uart-alchemy.o |
41endif 42 | 44endif 45 |
46targets += vmlinux.bin |
|
43OBJCOPYFLAGS_vmlinux.bin := $(OBJCOPYFLAGS) -O binary -R .comment -S | 47OBJCOPYFLAGS_vmlinux.bin := $(OBJCOPYFLAGS) -O binary -R .comment -S |
44$(obj)/vmlinux.bin: $(KBUILD_IMAGE) | 48$(obj)/vmlinux.bin: $(KBUILD_IMAGE) FORCE |
45 $(call if_changed,objcopy) 46 47suffix_$(CONFIG_KERNEL_GZIP) = gz 48suffix_$(CONFIG_KERNEL_BZIP2) = bz2 49suffix_$(CONFIG_KERNEL_LZMA) = lzma 50suffix_$(CONFIG_KERNEL_LZO) = lzo 51tool_$(CONFIG_KERNEL_GZIP) = gzip 52tool_$(CONFIG_KERNEL_BZIP2) = bzip2 53tool_$(CONFIG_KERNEL_LZMA) = lzma 54tool_$(CONFIG_KERNEL_LZO) = lzo | 49 $(call if_changed,objcopy) 50 51suffix_$(CONFIG_KERNEL_GZIP) = gz 52suffix_$(CONFIG_KERNEL_BZIP2) = bz2 53suffix_$(CONFIG_KERNEL_LZMA) = lzma 54suffix_$(CONFIG_KERNEL_LZO) = lzo 55tool_$(CONFIG_KERNEL_GZIP) = gzip 56tool_$(CONFIG_KERNEL_BZIP2) = bzip2 57tool_$(CONFIG_KERNEL_LZMA) = lzma 58tool_$(CONFIG_KERNEL_LZO) = lzo |
55$(obj)/vmlinux.$(suffix_y): $(obj)/vmlinux.bin | 59 60targets += vmlinux.gz vmlinux.bz2 vmlinux.lzma vmlinux.lzo 61$(obj)/vmlinux.$(suffix_y): $(obj)/vmlinux.bin FORCE |
56 $(call if_changed,$(tool_y)) 57 | 62 $(call if_changed,$(tool_y)) 63 |
58$(obj)/piggy.o: $(obj)/vmlinux.$(suffix_y) $(obj)/dummy.o 59 $(Q)$(OBJCOPY) $(OBJCOPYFLAGS) \ 60 --add-section=.image=$< \ 61 --set-section-flags=.image=contents,alloc,load,readonly,data \ 62 $(obj)/dummy.o $@ | 64targets += piggy.o 65OBJCOPYFLAGS_piggy.o := --add-section=.image=$(obj)/vmlinux.$(suffix_y) \ 66 --set-section-flags=.image=contents,alloc,load,readonly,data 67$(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.$(suffix_y) FORCE 68 $(call if_changed,objcopy) |
63 64LDFLAGS_vmlinuz := $(LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T | 69 70LDFLAGS_vmlinuz := $(LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T |
65vmlinuz: $(src)/ld.script $(obj-y) $(obj)/piggy.o 66 $(call if_changed,ld) | 71vmlinuz: $(src)/ld.script $(vmlinuzobjs-y) $(obj)/piggy.o 72 $(call cmd,ld) |
67 $(Q)$(OBJCOPY) $(OBJCOPYFLAGS) $@ 68 69# 70# Some DECstations need all possible sections of an ECOFF executable 71# 72ifdef CONFIG_MACH_DECSTATION | 73 $(Q)$(OBJCOPY) $(OBJCOPYFLAGS) $@ 74 75# 76# Some DECstations need all possible sections of an ECOFF executable 77# 78ifdef CONFIG_MACH_DECSTATION |
73 E2EFLAGS = -a 74else 75 E2EFLAGS = | 79 e2eflag := -a |
76endif 77 78# elf2ecoff can only handle 32bit image | 80endif 81 82# elf2ecoff can only handle 32bit image |
83hostprogs-y := ../elf2ecoff |
|
79 80ifdef CONFIG_32BIT 81 VMLINUZ = vmlinuz 82else 83 VMLINUZ = vmlinuz.32 84endif 85 | 84 85ifdef CONFIG_32BIT 86 VMLINUZ = vmlinuz 87else 88 VMLINUZ = vmlinuz.32 89endif 90 |
91quiet_cmd_32 = OBJCOPY $@ 92 cmd_32 = $(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@ |
|
86vmlinuz.32: vmlinuz | 93vmlinuz.32: vmlinuz |
87 $(Q)$(OBJCOPY) -O $(32bit-bfd) $(OBJCOPYFLAGS) $< $@ | 94 $(call cmd,32) |
88 | 95 |
96quiet_cmd_ecoff = ECOFF $@ 97 cmd_ecoff = $< $(VMLINUZ) $@ $(e2eflag) |
|
89vmlinuz.ecoff: $(obj)/../elf2ecoff $(VMLINUZ) | 98vmlinuz.ecoff: $(obj)/../elf2ecoff $(VMLINUZ) |
90 $(Q)$(obj)/../elf2ecoff $(VMLINUZ) vmlinuz.ecoff $(E2EFLAGS) | 99 $(call cmd,ecoff) |
91 | 100 |
92$(obj)/../elf2ecoff: $(src)/../elf2ecoff.c 93 $(Q)$(HOSTCC) -o $@ $^ 94 | |
95OBJCOPYFLAGS_vmlinuz.bin := $(OBJCOPYFLAGS) -O binary 96vmlinuz.bin: vmlinuz | 101OBJCOPYFLAGS_vmlinuz.bin := $(OBJCOPYFLAGS) -O binary 102vmlinuz.bin: vmlinuz |
97 $(call if_changed,objcopy) | 103 $(call cmd,objcopy) |
98 99OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec 100vmlinuz.srec: vmlinuz | 104 105OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec 106vmlinuz.srec: vmlinuz |
101 $(call if_changed,objcopy) | 107 $(call cmd,objcopy) |
102 | 108 |
103clean: 104clean-files += *.o \ 105 vmlinu* | 109clean-files := $(objtree)/vmlinuz.* |