.PHONY: build release test lint fmt check wasm docker docker-run deploy-pi stress clean loc

build:
	cargo build --workspace

release:
	cargo build --release --workspace

test:
	cargo test --workspace

lint:
	cargo clippy --workspace -- -D warnings

fmt:
	cargo fmt --workspace

check: fmt lint test

wasm:
	wasm-pack build crates/symclaw-wasm --target web --out-dir ../../dist/wasm

docker:
	docker build -t symclaw:latest .

docker-run:
	docker compose up -d

deploy-pi:
	./scripts/pi-deploy.sh

stress:
	./scripts/stress-test.sh

clean:
	cargo clean
	rm -rf dist/

loc:
	@find crates -name '*.rs' | xargs wc -l | tail -1
	@echo "Tests:"; find crates -name '*.rs' | xargs grep -c '#\[test\]' | awk -F: '{s+=$$2}END{print s}'
