rusty-hermit 0.3.10

RustyHermit - A Rust-based, lightweight unikernel
arch ?= x86_64
target ?= $(arch)-unknown-hermit
release ?= 0

opt :=
rdir := debug

ifeq ($(release), 1)
opt := --release
rdir := release
endif

RN :=
ifdef COMSPEC
RM := del
else
RM := rm -rf
endif

.PHONY: all loader qemu tests clippy clean lib docs

default: lib
	make arch=$(arch) release=$(release) -C tests

all: loader lib
	make arch=$(arch) release=$(release) -C tests

clean:
	$(RM) target/x86_64-unknown-hermit-kernel
	make -C tests clean
	make -C loader clean

loader:
	make -C loader release=$(release)

qemu:
	qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio  -kernel loader/target/$(target)-loader/$(rdir)/hermit-loader -initrd tests/target/$(target)/$(rdir)/rusty_tests -cpu qemu64,apic,fsgsbase,pku,rdtscp,xsave,fxsr

docs:
	@echo DOC
	@cargo doc --no-deps

clippy:
	@echo Run clippy...
	@RUST_TARGET_PATH=$(CURDIR) cargo clippy --target $(target)

lib:
	@echo Build libhermit
	@RUST_TARGET_PATH=$(CURDIR) cargo xbuild $(opt) --target $(target)-kernel