Files
2026-07-01 15:15:29 +08:00

30 lines
789 B
Makefile

BINARY ?= htsy-cli
VERSION ?= $(shell git describe --tags --abbrev=0 2>/dev/null || echo dev)
LDFLAGS := -s -w -X main.version=$(VERSION)
PLATFORMS := darwin/amd64 darwin/arm64 windows/amd64
.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 bin
for platform in $(PLATFORMS); do \
GOOS=$${platform%/*}; \
GOARCH=$${platform#*/}; \
EXT=""; \
if [ "$$GOOS" = "windows" ]; then EXT=".exe"; fi; \
OUT="bin/$(BINARY)_$${GOOS}_$${GOARCH}$${EXT}"; \
echo "building $$OUT"; \
CGO_ENABLED=0 GOOS=$$GOOS GOARCH=$$GOARCH go build -trimpath -ldflags "$(LDFLAGS)" -o "$$OUT" .; \
done
cd bin && shasum -a 256 * > checksums.txt
clean:
rm -rf bin dist