linux+arc: update kernel
[openadk.git] / target / riscv32 / Makefile
blob9b268093af7827e401adc6c21feafbbb3d1ca2d5
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
10 QEMU_ARGS:=-nographic
12 # target helper text
13 ifeq ($(ADK_TARGET_FS),initramfs)
14 targethelp:
15 @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
16 @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
17 endif
18 ifeq ($(ADK_TARGET_FS),initramfsarchive)
19 targethelp:
20 @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
21 @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
22 endif
23 ifeq ($(ADK_TARGET_FS),initramfspiggyback)
24 targethelp:
25 @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
26 endif
28 kernel-strip:
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)
34 bbl:
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
47 endif
48 ifeq ($(ADK_TARGET_FS),initramfsarchive)
49 imageinstall: kernel-install bbl $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
50 endif
51 ifeq ($(ADK_TARGET_FS),initramfspiggyback)
52 imageinstall: createinitramfs bbl targethelp
53 endif