.PHONY: build install release clean test run help version patch minor major alpha beta rc
help:
@echo "bundleq Makefile"
@echo ""
@echo "Available targets:"
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-12s\033[0m %s\n", $$1, $$2}'
build:
cargo build
build-go: build
@echo "Building Go bindings..."
cd bindings/go && go build ./...
build-go-example: build-go
cd bindings/go && go build -o ../../plcbundle-go cmd/example/main.go
release:
cargo build --release
@echo ""
@echo "Release binary: target/release/bundleq"
install:
cargo install --all-features --path .
clean:
cargo clean
test:
cargo test
run:
cargo run -- "did" -b "1" -j 1
fmt:
cargo fmt
lint:
cargo clippy -- -D warnings
check:
cargo check
version:
@cargo metadata --format-version 1 | jq -r '.packages[] | select(.name=="plcbundle") | .version'
patch:
cargo release patch --execute
minor:
cargo release minor --execute
major:
cargo release major --execute
release-dry-run:
cargo release patch --dry-run
release-preview:
cargo release patch --no-publish --no-push --no-tag --allow-dirty
alpha:
cargo release alpha --execute
beta:
cargo release beta --execute
rc:
cargo release rc --execute