2026-03-11 16:35:37 +01:00
|
|
|
install_list := solo5 ocaml-solo5 mkernel mnet
|
2026-03-11 14:17:52 +01:00
|
|
|
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
|
|
|
|
|
|
2026-03-11 16:35:37 +01:00
|
|
|
|
|
|
|
|
check-kvm:
|
|
|
|
|
$(if $(wildcard /dev/kvm),,$(error KVM support not enabled))
|
|
|
|
|
|
|
|
|
|
installs:
|
|
|
|
|
@for v in $(install_list); do \
|
|
|
|
|
opam install $v
|
|
|
|
|
done
|
|
|
|
|
|
2026-03-11 14:17:52 +01:00
|
|
|
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
|