1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR
)/rules.mk
5 include $(ADK_TOPDIR
)/mk
/kernel-build.mk
6 include $(ADK_TOPDIR
)/mk
/image.mk
8 KERNEL
:=$(LINUX_DIR
)/vmlinux
9 OSTRIP
:=-R .reginfo
-R .notes
-R .note
-R .comment
-R .mdebug
-R .note.gnu.build-id
13 ifeq ($(ADK_TARGET_FS
),initramfs
)
15 @echo
'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
16 @echo
'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
18 ifeq ($(ADK_TARGET_FS
),initramfsarchive
)
20 @echo
'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
21 @echo
"The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
23 ifeq ($(ADK_TARGET_FS
),initramfspiggyback
)
25 @echo
'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
29 $(TARGET_CROSS
)objcopy
$(OSTRIP
) -S
$(KERNEL
) $(BUILD_DIR
)/$(TARGET_KERNEL
)
31 kernel-install
: kernel-strip
32 @cp
$(BUILD_DIR
)/$(TARGET_KERNEL
) $(FW_DIR
)/$(TARGET_KERNEL
)
35 @mkdir
-p
$(BUILD_DIR
)/bbl
36 @
rm -rf
$(BUILD_DIR
)/riscv-pk
37 (cd
$(BUILD_DIR
)/ && git clone https
://github.com
/riscv
/riscv-pk.git
)
38 (cd
$(BUILD_DIR
)/bbl
&& PATH
='$(HOST_PATH)' ..
/riscv-pk
/configure \
39 --host
=$(GNU_TARGET_NAME
) --target
=$(GNU_TARGET_NAME
) \
40 --with-payload
=$(FW_DIR
)/$(TARGET_KERNEL
))
41 (cd
$(BUILD_DIR
)/bbl
&& PATH
='$(HOST_PATH)' make
)
42 cp
$(BUILD_DIR
)/bbl
/bbl
$(FW_DIR
)/$(TARGET_KERNEL
).bbl
44 # filesystem specific targets
45 ifeq ($(ADK_TARGET_FS
),initramfs
)
46 imageinstall
: kernel-install bbl
$(FW_DIR
)/$(INITRAMFS
) targethelp
48 ifeq ($(ADK_TARGET_FS
),initramfsarchive
)
49 imageinstall
: kernel-install bbl
$(FW_DIR
)/$(ROOTFSUSERTARBALL
) targethelp
51 ifeq ($(ADK_TARGET_FS
),initramfspiggyback
)
52 imageinstall
: createinitramfs bbl targethelp