.PHONY: build release clean test bench load-test BINARY_NAME=osv-server BIN_DIR=./bin VERSION?=dev BUILD_TIME=$(shell date -u '+%Y-%m-%d_%H:%M:%S') LDFLAGS=-ldflags "-s -w -X main.version=$(VERSION) -X main.buildTime=$(BUILD_TIME)" build: mkdir -p $(BIN_DIR) go build -o $(BIN_DIR)/$(BINARY_NAME) $(LDFLAGS) ./cmd/osv-server release: mkdir -p $(BIN_DIR) CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -trimpath -ldflags "-s -w -linkmode external -extldflags '-static'" -o $(BIN_DIR)/$(BINARY_NAME) ./cmd/osv-server clean: rm -rf $(BIN_DIR) go clean test: go test ./... bench: go test -bench=. -benchmem ./internal/... load-test: go run tests/load.go publish: ./scripts/publish.sh