.PHONY: build dev check check-all check-no-std check-portable targets test fmt run install clean RELEASE_BIN := target/release/dvd-thing INSTALL_DIR := $(HOME)/.local/bin NO_STD_TARGETS := x86_64-unknown-none riscv32imc-unknown-none-elf PORTABLE_TARGETS := wasm32-unknown-unknown x86_64-pc-windows-gnu aarch64-apple-darwin build: cargo build --release dev: RUST_LOG=debug cargo run check: cargo fmt --all -- --check cargo clippy --workspace --all-targets -- -D warnings cargo test --workspace check-all: check check-no-std check-portable check-no-std: @for target in $(NO_STD_TARGETS); do \ echo " domain + application -> $$target"; \ cargo check --quiet -p domain -p application --target $$target || exit 1; \ done check-portable: @for target in $(PORTABLE_TARGETS); do \ echo " domain + application + assets -> $$target"; \ cargo check --quiet -p domain -p application -p assets --target $$target || exit 1; \ done targets: rustup target add $(NO_STD_TARGETS) $(PORTABLE_TARGETS) test: cargo test --workspace fmt: cargo fmt --all run: cargo run --release install: build install -Dm755 $(RELEASE_BIN) $(INSTALL_DIR)/dvd-thing clean: cargo clean