BINARY ?= htsy-cli VERSION ?= dev LDFLAGS := -s -w -X main.version=$(VERSION) PLATFORMS := linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64 windows/arm64 .PHONY: test build release clean test: go test ./... build: mkdir -p bin CGO_ENABLED=0 go build -trimpath -ldflags "$(LDFLAGS)" -o bin/$(BINARY) . release: clean test mkdir -p dist for platform in $(PLATFORMS); do \ GOOS=$${platform%/*}; \ GOARCH=$${platform#*/}; \ EXT=""; \ if [ "$$GOOS" = "windows" ]; then EXT=".exe"; fi; \ OUT="dist/$(BINARY)_$${GOOS}_$${GOARCH}$${EXT}"; \ echo "building $$OUT"; \ CGO_ENABLED=0 GOOS=$$GOOS GOARCH=$$GOARCH go build -trimpath -ldflags "$(LDFLAGS)" -o "$$OUT" .; \ done cd dist && shasum -a 256 * > checksums.txt clean: rm -rf bin dist