26 lines
651 B
Makefile
26 lines
651 B
Makefile
target := "riscv64gc-unknown-none-elf"
|
|
mode := "debug"
|
|
build-path := "./target/" + target + "/" + mode + "/"
|
|
m-firmware-file := build-path + "rustsbi-qemu"
|
|
m-bin-file := build-path + "rustsbi-qemu.bin"
|
|
|
|
objcopy := "rust-objcopy --binary-architecture=riscv64"
|
|
|
|
threads := "1"
|
|
|
|
build: firmware
|
|
@{{objcopy}} {{m-firmware-file}} --strip-all -O binary {{m-bin-file}}
|
|
|
|
firmware:
|
|
@cargo build --target={{target}}
|
|
|
|
qemu: build
|
|
@qemu-system-riscv64 \
|
|
-machine virt \
|
|
-nographic \
|
|
-bios none \
|
|
-device loader,file={{m-bin-file}},addr=0x80000000 \
|
|
-smp threads={{threads}}
|
|
|
|
run: build qemu
|