PACKAGE_NAME := rsfn-file
EXECUTABLE_NAME := rsfnfile
.DEFAULT_GOAL := build
.PHONY: build dist/$(EXECUTABLE_NAME)
build: dist/$(EXECUTABLE_NAME)
dist/$(EXECUTABLE_NAME):
mkdir -p dist
cargo build --package=$(PACKAGE_NAME) --bin=$(EXECUTABLE_NAME) --release
cp target/release/$(EXECUTABLE_NAME) $@
.PHONY: fmt
fmt:
cargo fmt --all
.PHONY: lint
lint: lint-cargo-fmt lint-cargo-check lint-clippy
lint-cargo-fmt:
cargo fmt --all --check
lint-cargo-check:
RUSTFLAGS='-D warnings' cargo check --locked --all-targets
lint-clippy:
cargo clippy --locked --all-targets -- -Dwarnings
.PHONY: test test-cargo
test: test-cargo
test-cargo:
cargo test --locked --quiet
.PHONY: clean clean-cargo clean-build clean-certs
clean: clean-cargo clean-build clean-certs
clean-cargo:
cargo clean
clean-build:
rm -rf dist
clean-certs:
cd data && make clean-certs
.PHONY: certs help
certs:
cd data && make certs
help:
@awk 'BEGIN {FS = ":.*## "} /^[A-Za-z\$$/].*:.*## / {printf "\033[36m%-25s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)