predictor/Makefile
2026-05-18 03:17:17 +09:00

55 lines
1.5 KiB
Makefile

.PHONY: build server cli compare test fmt lint clean generate-ogen docs help
# Build all binaries
build: server cli compare
server:
go build -o bin/predictor ./cmd/predictor
cli:
go build -o bin/predictor-cli ./cmd/predictor-cli
compare:
go build -o bin/compare-tawhiri ./cmd/compare-tawhiri
# Run locally
run:
go run ./cmd/predictor
# Run tests
test:
go test ./...
# Format code
fmt:
go fmt ./...
# Lint code
lint:
golangci-lint run
# Build the numerics LaTeX doc (requires pdflatex)
docs:
cd docs && pdflatex numerics.tex
# Regenerate ogen API code from the OpenAPI spec
generate-ogen:
go run github.com/ogen-go/ogen/cmd/ogen@latest --target pkg/rest --package rest --clean api/rest/predictor.swagger.yml
# Clean build artifacts
clean:
rm -rf bin/ docs/numerics.pdf docs/numerics.aux docs/numerics.log
help:
@echo "Available commands:"
@echo " build - Build all binaries to bin/"
@echo " server - Build the HTTP server (cmd/predictor)"
@echo " cli - Build the CLI client (cmd/predictor-cli)"
@echo " compare - Build the validation tool (cmd/compare-tawhiri)"
@echo " run - Run the server with default config"
@echo " test - Run unit tests"
@echo " fmt - Format code"
@echo " lint - Lint code (golangci-lint)"
@echo " docs - Build the numerics LaTeX doc (requires pdflatex)"
@echo " generate-ogen - Regenerate ogen code from the OpenAPI spec"
@echo " clean - Remove build artifacts"