.PHONY: all clean cls release debug fix fmt check build test examples run-$(WAITFOR_NAME) run-$(SCANDISK_NAME)
INSTALL_PATH := $(HOME)/usr/bin/
WAITFOR_NAME :=wait3
WAITFOR_DEBUG_BIN :=target/debug/$(WAITFOR_NAME)
WAITFOR_RELEASE_BIN :=target/release/$(WAITFOR_NAME)
WAITFOR_BIN :=$(WAITFOR_DEBUG_BIN)
WAITFOR_RUN :=cargo run --bin $(WAITFOR_NAME) --
all: test debug release
$(INSTALL_PATH):
mkdir -p $@
$(WAITFOR_RELEASE_BIN): $(INSTALL_PATH)
cargo build --release
$(WAITFOR_DEBUG_BIN): $(INSTALL_PATH)
cargo build
run-$(WAITFOR_NAME):
cargo run --bin $(subst run-,,$@)
e2e-$(WAITFOR_NAME):
$(WAITFOR_RUN) command --exit 0 'sleep 3'
$(WAITFOR_RUN) time 3s
release: check fix | $(WAITFOR_RELEASE_BIN)
install $(WAITFOR_RELEASE_BIN) $(INSTALL_PATH)
debug: check fix | $(WAITFOR_DEBUG_BIN)
install $(WAITFOR_DEBUG_BIN) $(INSTALL_PATH)
clean: cls
@rm -rf target
cls:
-@reset || tput reset
fix:
cargo fix --allow-dirty --allow-staged
fmt:
rustfmt --edition 2021 src/*.rs
check:
cargo check --all-targets
build test: check
cargo $@
publish: release
cargo $@