INSTALL_PATH :=$(HOME)/usr/libexec/
PHO_NAME :=pho
PHO_DEBUG_EXEC :=target/debug/$(PHO_NAME)
PHO_RELEASE_EXEC :=target/release/$(PHO_NAME)
PHO_EXEC :=$(PHO_DEBUG_EXEC)
PHO_RUN :=$(PHO_RELEASE_EXEC)
all: test debug release
$(INSTALL_PATH):
mkdir -p $@
$(PHO_RELEASE_EXEC): $(INSTALL_PATH)
cargo build --release
$(PHO_DEBUG_EXEC): $(INSTALL_PATH)
cargo build
release: check fix | $(PHO_RELEASE_EXEC)
install $(PHO_RELEASE_EXEC) $(INSTALL_PATH)
debug: check fix | $(PHO_DEBUG_EXEC)
install $(PHO_DEBUG_EXEC) $(INSTALL_PATH)
clean: cls
@rm -rf target
cleanx:
@rm -rf $(PHO_DEBUG_EXEC)
@rm -rf $(PHO_RELEASE_EXEC)
cls:
-@reset || tput reset
fix:
cargo fix
fmt:
rustfmt --edition 2021 src/*.rs
check:
cargo check --all-targets
build test: check
cargo $@
run:
cargo run one
.PHONY: all clean cls release debug fix fmt check build test examples