Initial commit: hotpcalc CLI

This commit is contained in:
2026-09-20 20:04:18 +03:00
commit 8f42dc690e
24 changed files with 5182 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
BIN := hotpcalc
PKG := ./cmd/hotpcalc
VERSION ?= 1.1.0
LDFLAGS := -s -w -X main.version=$(VERSION)
DIST := dist
PLATFORMS := linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64 windows/arm64
.PHONY: all build test vet fmt dist clean
all: test build
build:
go build -trimpath -ldflags "$(LDFLAGS)" -o $(BIN) $(PKG)
test:
go test ./...
vet:
go vet ./...
fmt:
gofmt -l -w .
## dist — статические бинарники под Linux, macOS и Windows (amd64 + arm64)
dist: clean
@mkdir -p $(DIST)
@for p in $(PLATFORMS); do \
os=$${p%/*}; arch=$${p#*/}; ext=""; \
[ "$$os" = "windows" ] && ext=".exe"; \
echo " сборка $$os/$$arch"; \
CGO_ENABLED=0 GOOS=$$os GOARCH=$$arch \
go build -trimpath -ldflags "$(LDFLAGS)" -o $(DIST)/$(BIN)-$$os-$$arch$$ext $(PKG) || exit 1; \
done
@cd $(DIST) && shasum -a 256 * > SHA256SUMS 2>/dev/null || true
@ls -l $(DIST)
clean:
@rm -rf $(DIST) $(BIN)