Files
pixa/Makefile

39 lines
907 B
Makefile

.PHONY: check lint test fmt build clean
VERSION := $(shell git describe --tags --always --dirty 2>/dev/null || echo "dev")
BUILDARCH := $(shell go env GOARCH)
LDFLAGS := -X main.Version=$(VERSION) -X main.Buildarch=$(BUILDARCH)
# Default target: run all checks
check: fmt-check lint test
# Check formatting without modifying files
fmt-check:
@echo "Checking formatting..."
@test -z "$$(gofmt -l . | grep -v '^vendor/')" || (echo "Files need formatting:"; gofmt -l . | grep -v '^vendor/'; exit 1)
# Format code
fmt:
@echo "Formatting code..."
gofmt -w $$(find . -name '*.go' -not -path './vendor/*')
# Run linter
lint:
@echo "Running linter..."
golangci-lint run
# Run tests
test:
@echo "Running tests..."
go test -v ./...
# Build the binary
build:
@echo "Building pixad..."
go build -ldflags "$(LDFLAGS)" -o bin/pixad ./cmd/pixad
# Clean build artifacts
clean:
rm -rf bin/
rm -f data.db