build: narrow release platforms and output to bin

This commit is contained in:
dcsunny
2026-07-01 15:11:11 +08:00
parent 16cf2f1941
commit 75e398b2fe
+4 -4
View File
@@ -1,7 +1,7 @@
BINARY ?= htsy-cli BINARY ?= htsy-cli
VERSION ?= dev VERSION ?= dev
LDFLAGS := -s -w -X main.version=$(VERSION) LDFLAGS := -s -w -X main.version=$(VERSION)
PLATFORMS := linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64 windows/arm64 PLATFORMS := darwin/amd64 darwin/arm64 windows/amd64
.PHONY: test build release clean .PHONY: test build release clean
@@ -13,17 +13,17 @@ build:
CGO_ENABLED=0 go build -trimpath -ldflags "$(LDFLAGS)" -o bin/$(BINARY) . CGO_ENABLED=0 go build -trimpath -ldflags "$(LDFLAGS)" -o bin/$(BINARY) .
release: clean test release: clean test
mkdir -p dist mkdir -p bin
for platform in $(PLATFORMS); do \ for platform in $(PLATFORMS); do \
GOOS=$${platform%/*}; \ GOOS=$${platform%/*}; \
GOARCH=$${platform#*/}; \ GOARCH=$${platform#*/}; \
EXT=""; \ EXT=""; \
if [ "$$GOOS" = "windows" ]; then EXT=".exe"; fi; \ if [ "$$GOOS" = "windows" ]; then EXT=".exe"; fi; \
OUT="dist/$(BINARY)_$${GOOS}_$${GOARCH}$${EXT}"; \ OUT="bin/$(BINARY)_$${GOOS}_$${GOARCH}$${EXT}"; \
echo "building $$OUT"; \ echo "building $$OUT"; \
CGO_ENABLED=0 GOOS=$$GOOS GOARCH=$$GOARCH go build -trimpath -ldflags "$(LDFLAGS)" -o "$$OUT" .; \ CGO_ENABLED=0 GOOS=$$GOOS GOARCH=$$GOARCH go build -trimpath -ldflags "$(LDFLAGS)" -o "$$OUT" .; \
done done
cd dist && shasum -a 256 * > checksums.txt cd bin && shasum -a 256 * > checksums.txt
clean: clean:
rm -rf bin dist rm -rf bin dist