.PHONY: check fmt clippy test kani build all image run RISCV_TARGET = riscv64gc-unknown-none-elf KERNEL_BIN = target/$(RISCV_TARGET)/release/adapter-riscv all: check fmt clippy test check: cargo check --workspace fmt: cargo fmt --all -- --check clippy: cargo clippy --workspace -- -D warnings test: cargo test --workspace kani-types: cargo kani -p types kani-domain: cargo kani -p domain kani-kernel: cargo kani -p kernel kani: kani-types kani-domain kani-kernel build: cargo build --target $(RISCV_TARGET) --release \ -p adapter-riscv -p init -p echo -p snake \ -p display-qemu -p input-qemu -p storage-qemu \ -p log-server -p permission-manager -p session-server image: build scripts/make-disk-image.sh run: build qemu-system-riscv64 -machine virt -nographic -bios default \ -kernel $(KERNEL_BIN) run-disk: image qemu-system-riscv64 -machine virt -nographic -bios default \ -kernel $(KERNEL_BIN) \ -drive file=boot.img,if=none,format=raw,id=hd0 \ -device virtio-blk-device,drive=hd0 run-gui: image qemu-system-riscv64 -machine virt -bios default \ -kernel $(KERNEL_BIN) \ -drive file=boot.img,if=none,format=raw,id=hd0 \ -device virtio-blk-device,drive=hd0 \ -device virtio-gpu-device \ -device virtio-keyboard-device \ -serial stdio