1 # 1 # 2 # arch/riscv/boot/Makefile << 3 # << 4 # This file is included by the global makefile << 5 # architecture-specific flags and dependencies << 6 # << 7 # This file is subject to the terms and condit 2 # This file is subject to the terms and conditions of the GNU General Public 8 # License. See the file "COPYING" in the main 3 # License. See the file "COPYING" in the main directory of this archive 9 # for more details. 4 # for more details. 10 # 5 # 11 # Copyright (C) 2018, Anup Patel. !! 6 # Copyright (C) 1995, 1998, 2001 by Ralf Baechle 12 # Author: Anup Patel <anup@brainfault.org> !! 7 # Copyright (C) 2004 Maciej W. Rozycki 13 # 8 # 14 # Based on the ia64 and arm64 boot/Makefile. << 15 # << 16 << 17 OBJCOPYFLAGS_Image :=-O binary -R .note -R .no << 18 OBJCOPYFLAGS_loader.bin :=-O binary << 19 OBJCOPYFLAGS_xipImage :=-O binary -R .note -R << 20 9 21 targets := Image Image.* loader loader.o loade !! 10 USE_STANDARD_AS_RULE := true 22 11 23 ifeq ($(CONFIG_XIP_KERNEL),y) !! 12 # 24 !! 13 # Some DECstations need all possible sections of an ECOFF executable 25 quiet_cmd_mkxip = $(quiet_cmd_objcopy) !! 14 # 26 cmd_mkxip = $(cmd_objcopy) !! 15 ifdef CONFIG_DECSTATION 27 !! 16 E2EFLAGS = -a 28 $(obj)/xipImage: vmlinux FORCE << 29 $(call if_changed,mkxip) << 30 @$(kecho) ' Physical Address of xipIm << 31 << 32 endif << 33 << 34 ifdef CONFIG_RELOCATABLE << 35 vmlinux.relocs: vmlinux << 36 @ (! [ -f vmlinux.relocs ] && echo "vm << 37 << 38 $(obj)/Image: vmlinux.relocs FORCE << 39 else 17 else 40 $(obj)/Image: vmlinux FORCE !! 18 E2EFLAGS = 41 endif 19 endif 42 $(call if_changed,objcopy) << 43 20 44 $(obj)/Image.gz: $(obj)/Image FORCE !! 21 # 45 $(call if_changed,gzip) !! 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)) >> 27 >> 28 VMLINUX = $(TOPDIR)/vmlinux 46 29 47 $(obj)/loader.o: $(src)/loader.S $(obj)/Image !! 30 all: 48 31 49 $(obj)/loader: $(obj)/loader.o $(obj)/Image $( !! 32 boot: vmlinux.ecoff vmlinux.srec addinitrd 50 $(Q)$(LD) -T $(obj)/loader.lds -o $@ $ << 51 33 52 $(obj)/Image.bz2: $(obj)/Image FORCE !! 34 vmlinux.ecoff: $(CONFIGURE) elf2ecoff $(VMLINUX) 53 $(call if_changed,bzip2) !! 35 ./elf2ecoff $(VMLINUX) vmlinux.ecoff $(E2EFLAGS) 54 36 55 $(obj)/Image.lz4: $(obj)/Image FORCE !! 37 elf2ecoff: elf2ecoff.c 56 $(call if_changed,lz4) !! 38 $(HOSTCC) -o $@ $^ 57 39 58 $(obj)/Image.lzma: $(obj)/Image FORCE !! 40 vmlinux.srec: $(CONFIGURE) $(VMLINUX) 59 $(call if_changed,lzma) !! 41 $(OBJCOPY) -S -O srec $(strip-flags) $(VMLINUX) vmlinux.srec 60 42 61 $(obj)/Image.lzo: $(obj)/Image FORCE !! 43 addinitrd: addinitrd.c 62 $(call if_changed,lzo) !! 44 $(HOSTCC) -o $@ $^ 63 45 64 $(obj)/Image.zst: $(obj)/Image FORCE !! 46 # Don't build dependencies, this may die if $(CC) isn't gcc 65 $(call if_changed,zstd) !! 47 dep: 66 48 67 $(obj)/Image.xz: $(obj)/Image FORCE !! 49 clean: 68 $(call if_changed,xzkern) !! 50 rm -f vmlinux.ecoff vmlinux.srec 69 51 70 $(obj)/loader.bin: $(obj)/loader FORCE !! 52 mrproper: 71 $(call if_changed,objcopy) !! 53 rm -f vmlinux.ecoff vmlinux.srec addinitrd elf2ecoff 72 54 73 EFI_ZBOOT_PAYLOAD := Image !! 55 dummy: 74 EFI_ZBOOT_BFD_TARGET := elf$(BITS)-littleri << 75 EFI_ZBOOT_MACH_TYPE := RISCV$(BITS) << 76 56 77 include $(srctree)/drivers/firmware/efi/libstu !! 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.