1 # SPDX-License-Identifier: GPL-2.0 !! 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 by Ralf Baechle >> 7 # Copyright (C) 2004 Maciej W. Rozycki >> 8 # 2 9 3 # uImage build relies on mkimage being availab !! 10 USE_STANDARD_AS_RULE := true 4 # You will need to build u-boot for ARC, renam << 5 # and make sure it's reachable from your PATH << 6 11 7 OBJCOPYFLAGS= -O binary -R .note -R .note.gnu. !! 12 # >> 13 # Some DECstations need all possible sections of an ECOFF executable >> 14 # >> 15 ifdef CONFIG_DECSTATION >> 16 E2EFLAGS = -a >> 17 else >> 18 E2EFLAGS = >> 19 endif 8 20 9 LINUX_START_TEXT = $$($(READELF) -h vmlinux | !! 21 # 10 grep "Entry point addr !! 22 # Drop some uninteresting sections in the kernel. >> 23 # This is only relevant for ELF kernels but doesn't hurt a.out >> 24 # >> 25 drop-sections = .reginfo .mdebug .comment .note .pdr .options .MIPS.options >> 26 strip-flags = $(addprefix --remove-section=,$(drop-sections)) 11 27 12 UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE) !! 28 VMLINUX = $(TOPDIR)/vmlinux 13 UIMAGE_ENTRYADDR = $(LINUX_START_TEXT) << 14 29 15 targets += vmlinux.bin !! 30 all: 16 targets += vmlinux.bin.gz << 17 targets += vmlinux.bin.lzma << 18 targets += uImage.bin << 19 targets += uImage.gz << 20 targets += uImage.lzma << 21 31 22 $(obj)/vmlinux.bin: vmlinux FORCE !! 32 boot: vmlinux.ecoff vmlinux.srec addinitrd 23 $(call if_changed,objcopy) << 24 33 25 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC !! 34 vmlinux.ecoff: $(CONFIGURE) elf2ecoff $(VMLINUX) 26 $(call if_changed,gzip) !! 35 ./elf2ecoff $(VMLINUX) vmlinux.ecoff $(E2EFLAGS) 27 36 28 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO !! 37 elf2ecoff: elf2ecoff.c 29 $(call if_changed,lzma) !! 38 $(HOSTCC) -o $@ $^ 30 39 31 $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE !! 40 vmlinux.srec: $(CONFIGURE) $(VMLINUX) 32 $(call if_changed,uimage,none) !! 41 $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) vmlinux.srec 33 42 34 $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE !! 43 addinitrd: addinitrd.c 35 $(call if_changed,uimage,gzip) !! 44 $(HOSTCC) -o $@ $^ 36 45 37 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FO !! 46 # Don't build dependencies, this may die if $(CC) isn't gcc 38 $(call if_changed,uimage,lzma) !! 47 dep: >> 48 >> 49 clean: >> 50 rm -f vmlinux.ecoff vmlinux.srec >> 51 >> 52 mrproper: >> 53 rm -f vmlinux.ecoff vmlinux.srec addinitrd elf2ecoff >> 54 >> 55 dummy: >> 56 >> 57 include $(TOPDIR)/Rules.make
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.