.PHONY: format-check module-verify build vet test openspec gateway-linux gateway-sbom verify GO ?= go OPENSPEC ?= openspec DIST_DIR ?= dist SOURCE_REVISION ?= $(shell git rev-parse HEAD) SOURCE_DATE ?= $(shell git show -s --format=%cI HEAD) format-check: @test -z "$$(gofmt -l $$(find gateway -type f -name '*.go' -print))" module-verify: $(GO) mod verify build: $(GO) build ./... vet: $(GO) vet ./... test: $(GO) test ./... -count=1 openspec: $(OPENSPEC) validate --all --strict --no-interactive gateway-linux: mkdir -p "$(DIST_DIR)" CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GOWORK=off $(GO) build -mod=readonly -trimpath -buildvcs=false -ldflags=-buildid= -o "$(DIST_DIR)/verse-gateway-linux-amd64" ./cmd/verse-gateway CGO_ENABLED=0 GOOS=linux GOARCH=arm64 GOWORK=off $(GO) build -mod=readonly -trimpath -buildvcs=false -ldflags=-buildid= -o "$(DIST_DIR)/verse-gateway-linux-arm64" ./cmd/verse-gateway gateway-sbom: $(GO) run ./cmd/verse-gateway-sbom \ -source-revision "$(SOURCE_REVISION)" \ -source-date "$(SOURCE_DATE)" \ -artifact "amd64=$(DIST_DIR)/verse-gateway-linux-amd64" \ -artifact "arm64=$(DIST_DIR)/verse-gateway-linux-arm64" \ -output "$(DIST_DIR)/verse-gateway.spdx.json" verify: format-check module-verify build vet test openspec