Initial commit: hotpcalc CLI
This commit is contained in:
@@ -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)
|
||||
Reference in New Issue
Block a user