SHELL := /usr/bin/env bash PREFIX ?= /usr/local BINDIR := $(PREFIX)/bin .PHONY: help release clean install uninstall remove help: @echo "Available targets:" @echo " install Build and install lsf to $(BINDIR)" @echo " uninstall/remove Remove lsf from $(BINDIR)" @echo " release VERSION=x.y.z Build release artifacts into dist/" @echo " clean Remove dist/ and target/" install: cargo build --release install -Dm755 target/release/lsf "$(DESTDIR)$(BINDIR)/lsf" @echo "lsf installed to $(BINDIR)/lsf" uninstall: rm -f "$(DESTDIR)$(BINDIR)/lsf" @echo "lsf removed from $(BINDIR)/lsf" remove: uninstall release: @if [[ -z "$$VERSION" ]]; then \ echo "ERROR: VERSION is required. Usage: make release VERSION=x.y.z"; \ exit 1; \ fi @chmod +x tools/release.sh @./tools/release.sh "$$VERSION" clean: rm -rf dist cargo clean