CMD_NAME := git-project-manager .PHONY: all test build install docs clean VERSION ?= development # Default to "development" if VERSION is not set PLATFORMS := linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 OUTPUT_DIR := bin PKG := gitea.libretechconsulting.com/rmcguire/git-project-manager all: test build install docs test: go test -v ./... build: test @echo "Building for platforms: $(PLATFORMS)" @for platform in $(PLATFORMS); do \ OS=$$(echo $$platform | cut -d/ -f1); \ ARCH=$$(echo $$platform | cut -d/ -f2); \ OUTPUT="$(OUTPUT_DIR)/$(CMD_NAME)-$$OS-$$ARCH"; \ GOOS=$$OS GOARCH=$$ARCH go build -ldflags "-X $(PKG)/cmd.Version=$(VERSION)" -o $$OUTPUT; \ echo "Built $$OUTPUT"; \ done go build -ldflags "-X $(PKG)/cmd.Version=$(VERSION)" -o bin/${CMD_NAME} install: go install -v -ldflags "-X $(PKG)/cmd.Version=$(VERSION)" . docs: bin/${CMD_NAME} docs md clean: rm -rf bin/${CMD_NAME}