fix formatting
[openadk.git] / target / riscv64 / Makefile
blob20aba000d9019623851f04854ca46a785c13b174
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)/arch/riscv/boot/Image
9 QEMU_ARGS:=-M virt -m 256 -nographic
10 ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
11 QEMU_ARGS+=-netdev user,id=eth0 -device virtio-net-device,netdev=eth0
12 endif
13 ifeq ($(ADK_TARGET_FS),archive)
14 QEMU_ARGS+=-device virtio-blk-device,drive=vda -drive file=qemu-${ADK_TARGET_CPU_ARCH}.img,if=none,id=vda,format=raw
15 endif
17 # target helper text
18 ifeq ($(ADK_TARGET_FS),archive)
19 targethelp:
20 @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
21 ifeq ($(ADK_TARGET_QEMU),y)
22 @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
23 @echo "Use following command to create a QEMU Image:"
24 @echo "./scripts/create.sh qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
25 @echo "Start qemu with following options:"
26 @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
27 endif
28 endif
29 ifeq ($(ADK_TARGET_FS),initramfs)
30 targethelp:
31 @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
32 @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
33 ifeq ($(ADK_TARGET_QEMU),y)
34 @echo "Start qemu with following command line:"
35 @echo 'qemu-system-riscv64 ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
36 endif
37 endif
38 ifeq ($(ADK_TARGET_FS),initramfsarchive)
39 targethelp:
40 @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
41 @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
42 endif
43 ifeq ($(ADK_TARGET_FS),initramfspiggyback)
44 targethelp:
45 @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
46 ifeq ($(ADK_TARGET_QEMU),y)
47 @echo "Start qemu with following command line:"
48 @echo 'qemu-system-riscv64 ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
49 endif
50 endif
52 kernel-strip:
54 kernel-install: kernel-strip
56 boot:
57 @rm -rf $(BUILD_DIR)/opensbi
58 (cd $(BUILD_DIR)/ && git clone https://github.com/riscv/opensbi.git)
59 (cd $(BUILD_DIR)/opensbi && PATH='$(HOST_PATH)' \
60 CROSS_COMPILE=$(GNU_TARGET_NAME)- \
61 FW_PAYLOAD_PATH=$(KERNEL) \
62 PLATFORM=generic make)
63 cp $(BUILD_DIR)/opensbi/build/platform/generic/firmware/fw_payload.elf \
64 $(FW_DIR)/$(TARGET_KERNEL)
66 # filesystem specific targets
67 ifeq ($(ADK_TARGET_FS),archive)
68 imageinstall: kernel-install boot $(FW_DIR)/$(ROOTFSTARBALL) targethelp
69 endif
70 ifeq ($(ADK_TARGET_FS),initramfs)
71 imageinstall: kernel-install boot $(FW_DIR)/$(INITRAMFS) targethelp
72 endif
73 ifeq ($(ADK_TARGET_FS),initramfsarchive)
74 imageinstall: kernel-install boot $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
75 endif
76 ifeq ($(ADK_TARGET_FS),initramfspiggyback)
77 imageinstall: createinitramfs boot targethelp
78 endif