BINARY := pzmanager
# Версия попадает в бинарник и видна в панели и в `pzmanager version`.
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null || echo dev)
LDFLAGS := -s -w -X main.version=$(VERSION)

.PHONY: build build-linux test vet fmt run clean

## build: собрать под текущую платформу
build:
	go build -ldflags "$(LDFLAGS)" -o $(BINARY) ./cmd/pzmanager

## build-linux: собрать статичный бинарник для Ubuntu (amd64)
build-linux:
	CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags "$(LDFLAGS)" -o $(BINARY) ./cmd/pzmanager

## test: прогнать тесты
test:
	go test ./...

vet:
	go vet ./...

fmt:
	gofmt -w cmd internal web

## run: запустить панель локально с конфигом в ./dev
run:
	go run ./cmd/pzmanager serve --config ./dev/config.yaml --listen 127.0.0.1:8080

clean:
	rm -f $(BINARY)
