install_list := solo5 ocaml-solo5 mkernel mnet pin_list := "git+https://github.com/mirage/Zarith.git#zarith-1.14" vendor_list := mkernel miou zarith secmod_fat=secrets/secmod.fat tap_device=tap-mte check-kvm: $(if $(wildcard /dev/kvm),,$(error KVM support not enabled)) installs: @for v in $(install_list); do \ opam install $v done pins: @for v in $(pin_list); do \ opam pin $v done vendors: mkdir -p vendors @for v in $(vendor_list); do \ [ ! -d vendors/$v ] && opam source $v --dir vendors/$v done .PHONY: clean clean: rm -rf _build/ rm -rf vendors/ secmod-storage: mfat make --sectors=2048 $(secmod_fat) assets: cp default/assets ./ manifest: dune exec src/mte.exe > manifest.json build: dune build src/mte.exe run: solo5-hvt --block:storage=$(secmod_fat) --net:service=$(tap_device) -- _build/solo5/main.exe --solo5:quiet