# Use cargo release to manage publication and versions etc.
#
#   cargo install cargo-release

all:
	cargo build --all-targets

doc:
	cargo doc --workspace

x86_64-binary: x86_64-binary-release

x86_64-binary-release:
	cross build --target=x86_64-unknown-linux-musl --release --all-targets

armv7-binary: armv7-binary-release

armv7-binary-release:
	cross build --target=armv7-unknown-linux-musleabihf --release --all-targets

aarch64-binary: aarch64-binary-release

aarch64-binary-release:
	cross build --target=aarch64-unknown-linux-musl --release --all-targets

test:
	cargo test

test-all:
	cargo test --all-targets

ws-bump:
	cargo workspaces version \
		--no-global-tag \
		--individual-tag-prefix 'rust-%n@' \
		--allow-branch 'main' \
		--ignore-changes '../*'

ws-publish:
	cargo workspaces publish \
		--from-git
