2 # arch/riscv/boot/Makefile
4 # This file is included by the global makefile so that you can add your own
5 # architecture-specific flags and dependencies.
7 # This file is subject to the terms and conditions of the GNU General Public
8 # License. See the file "COPYING" in the main directory of this archive
11 # Copyright (C) 2018, Anup Patel.
12 # Author: Anup Patel <anup@brainfault.org>
14 # Based on the ia64 and arm64 boot/Makefile.
17 OBJCOPYFLAGS_Image
:=-O binary
-R .note
-R .note.gnu.build-id
-R .comment
-S
18 OBJCOPYFLAGS_loader.bin
:=-O binary
19 OBJCOPYFLAGS_xipImage
:=-O binary
-R .note
-R .note.gnu.build-id
-R .comment
-S
21 targets
:= Image Image.
* loader loader.o loader.lds loader.bin xipImage
23 ifeq ($(CONFIG_XIP_KERNEL
),y
)
25 quiet_cmd_mkxip
= $(quiet_cmd_objcopy
)
26 cmd_mkxip
= $(cmd_objcopy
)
28 $(obj
)/xipImage
: vmlinux FORCE
29 $(call if_changed
,mkxip
)
30 @
$(kecho
) ' Physical Address of xipImage: $(CONFIG_XIP_PHYS_ADDR)'
34 ifdef CONFIG_RELOCATABLE
35 vmlinux.relocs
: vmlinux
36 @
(! [ -f vmlinux.relocs
] && echo
"vmlinux.relocs can't be found, please remove vmlinux and try again") || true
38 $(obj
)/Image
: vmlinux.relocs FORCE
40 $(obj
)/Image
: vmlinux FORCE
42 $(call if_changed
,objcopy
)
44 $(obj
)/Image.gz
: $(obj
)/Image FORCE
45 $(call if_changed
,gzip
)
47 $(obj
)/loader.o
: $(src
)/loader.S
$(obj
)/Image
49 $(obj
)/loader
: $(obj
)/loader.o
$(obj
)/Image
$(obj
)/loader.lds FORCE
50 $(Q
)$(LD
) -T
$(obj
)/loader.lds
-o
$@
$(obj
)/loader.o
52 $(obj
)/Image.bz2
: $(obj
)/Image FORCE
53 $(call if_changed
,bzip2
)
55 $(obj
)/Image.lz4
: $(obj
)/Image FORCE
56 $(call if_changed
,lz4
)
58 $(obj
)/Image.lzma
: $(obj
)/Image FORCE
59 $(call if_changed
,lzma
)
61 $(obj
)/Image.lzo
: $(obj
)/Image FORCE
62 $(call if_changed
,lzo
)
64 $(obj
)/Image.zst
: $(obj
)/Image FORCE
65 $(call if_changed
,zstd
)
67 $(obj
)/Image.xz
: $(obj
)/Image FORCE
68 $(call if_changed
,xzkern
)
70 $(obj
)/loader.bin
: $(obj
)/loader FORCE
71 $(call if_changed
,objcopy
)
73 EFI_ZBOOT_PAYLOAD
:= Image
74 EFI_ZBOOT_BFD_TARGET
:= elf
$(BITS
)-littleriscv
75 EFI_ZBOOT_MACH_TYPE
:= RISCV
$(BITS
)
77 include $(srctree
)/drivers
/firmware
/efi
/libstub
/Makefile.zboot