default: run

run:
	cargo run

run-release:
	cargo run --release

format:
	cargo fmt --all

format-check:
	cargo fmt --check --all

audit:
	cargo deny check

build:
	cargo build

build-release:
	cargo build --release

lint:
	cargo clippy --all-targets

release-build:
	cargo build --release

release-run:
	cargo run --release

[env("SQLX_OFFLINE", "1")]
test:
	cargo test --all --all-targets

test-hardware:
	cargo test --all --all-targets -- --ignored

coverage:
	mkdir -p coverage
	cargo tarpaulin --config backend/.tarpaulin.local.toml

coverage-ci:
	mkdir -p coverage
	cargo tarpaulin --config backend/.tarpaulin.ci.toml

check-all: format-check lint coverage audit

## Local Variables:
## mode: makefile
## End:
