git-project-manager/Makefile
Ryan D McGuire 30c65042dd
All checks were successful
Build and Publish / release (push) Successful in 2m21s
Add multi-arch builds
2024-12-31 21:16:05 -05:00

34 lines
920 B
Makefile

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}