xref: /linux/arch/riscv/boot/Makefile (revision bbfd5594756011167b8f8de9a00e0c946afda1e6)
1c0fbcd99SAnup Patel#
2c0fbcd99SAnup Patel# arch/riscv/boot/Makefile
3c0fbcd99SAnup Patel#
4c0fbcd99SAnup Patel# This file is included by the global makefile so that you can add your own
5c0fbcd99SAnup Patel# architecture-specific flags and dependencies.
6c0fbcd99SAnup Patel#
7c0fbcd99SAnup Patel# This file is subject to the terms and conditions of the GNU General Public
8c0fbcd99SAnup Patel# License.  See the file "COPYING" in the main directory of this archive
9c0fbcd99SAnup Patel# for more details.
10c0fbcd99SAnup Patel#
11c0fbcd99SAnup Patel# Copyright (C) 2018, Anup Patel.
12c0fbcd99SAnup Patel# Author: Anup Patel <anup@brainfault.org>
13c0fbcd99SAnup Patel#
14c0fbcd99SAnup Patel# Based on the ia64 and arm64 boot/Makefile.
15c0fbcd99SAnup Patel#
16c0fbcd99SAnup Patel
17c0fbcd99SAnup PatelOBJCOPYFLAGS_Image :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
1857a4542cSGeert UytterhoevenOBJCOPYFLAGS_loader.bin :=-O binary
1944c92257SVitaly WoolOBJCOPYFLAGS_xipImage :=-O binary -R .note -R .note.gnu.build-id -R .comment -S
20c0fbcd99SAnup Patel
2144c92257SVitaly Wooltargets := Image Image.* loader loader.o loader.lds loader.bin xipImage
2244c92257SVitaly Wool
2344c92257SVitaly Woolifeq ($(CONFIG_XIP_KERNEL),y)
2444c92257SVitaly Wool
2544c92257SVitaly Woolquiet_cmd_mkxip = $(quiet_cmd_objcopy)
2644c92257SVitaly Woolcmd_mkxip = $(cmd_objcopy)
2744c92257SVitaly Wool
2844c92257SVitaly Wool$(obj)/xipImage: vmlinux FORCE
2944c92257SVitaly Wool	$(call if_changed,mkxip)
3044c92257SVitaly Wool	@$(kecho) '  Physical Address of xipImage: $(CONFIG_XIP_PHYS_ADDR)'
3144c92257SVitaly Wool
3244c92257SVitaly Woolendif
33c0fbcd99SAnup Patel
34559d1e45SAlexandre Ghitiifdef CONFIG_RELOCATABLE
35*ac4f0678SArd Biesheuvel$(obj)/Image: vmlinux.unstripped FORCE
36559d1e45SAlexandre Ghitielse
37c0fbcd99SAnup Patel$(obj)/Image: vmlinux FORCE
38559d1e45SAlexandre Ghitiendif
39c0fbcd99SAnup Patel	$(call if_changed,objcopy)
40c0fbcd99SAnup Patel
41c0fbcd99SAnup Patel$(obj)/Image.gz: $(obj)/Image FORCE
42c0fbcd99SAnup Patel	$(call if_changed,gzip)
43c0fbcd99SAnup Patel
440e72a2f9SOlof Johansson$(obj)/loader.o: $(src)/loader.S $(obj)/Image
45405fe7aaSChristoph Hellwig
46405fe7aaSChristoph Hellwig$(obj)/loader: $(obj)/loader.o $(obj)/Image $(obj)/loader.lds FORCE
47405fe7aaSChristoph Hellwig	$(Q)$(LD) -T $(obj)/loader.lds -o $@ $(obj)/loader.o
48405fe7aaSChristoph Hellwig
498083c629SAtish Patra$(obj)/Image.bz2: $(obj)/Image FORCE
508083c629SAtish Patra	$(call if_changed,bzip2)
518083c629SAtish Patra
528083c629SAtish Patra$(obj)/Image.lz4: $(obj)/Image FORCE
538083c629SAtish Patra	$(call if_changed,lz4)
548083c629SAtish Patra
558083c629SAtish Patra$(obj)/Image.lzma: $(obj)/Image FORCE
568083c629SAtish Patra	$(call if_changed,lzma)
578083c629SAtish Patra
588083c629SAtish Patra$(obj)/Image.lzo: $(obj)/Image FORCE
598083c629SAtish Patra	$(call if_changed,lzo)
608083c629SAtish Patra
61de59b6edSJisheng Zhang$(obj)/Image.zst: $(obj)/Image FORCE
62de59b6edSJisheng Zhang	$(call if_changed,zstd)
63de59b6edSJisheng Zhang
64ab4ce983SLasse Collin$(obj)/Image.xz: $(obj)/Image FORCE
65ab4ce983SLasse Collin	$(call if_changed,xzkern)
66ab4ce983SLasse Collin
6737809df4SChristoph Hellwig$(obj)/loader.bin: $(obj)/loader FORCE
6837809df4SChristoph Hellwig	$(call if_changed,objcopy)
69f5579340SArd Biesheuvel
70f5579340SArd BiesheuvelEFI_ZBOOT_PAYLOAD	:= Image
71f5579340SArd BiesheuvelEFI_ZBOOT_BFD_TARGET	:= elf$(BITS)-littleriscv
72f5579340SArd BiesheuvelEFI_ZBOOT_MACH_TYPE	:= RISCV$(BITS)
73f5579340SArd Biesheuvel
74f5579340SArd Biesheuvelinclude $(srctree)/drivers/firmware/efi/libstub/Makefile.zboot
75