# crossbar gate. `make gate` must pass before any task is called done. It needs no network.

.PHONY: gate build smoke

gate:
	@test -z "$$(gofmt -l . 2>&1)" || { echo "gofmt: these files need formatting:"; gofmt -l .; exit 1; }
	go vet ./...
	go test -race -count=1 ./...
	sh scripts/check-lines.sh
	@echo "gate: ok"

build:
	go build -o bin/ ./cmd/...

# Runs the whole thing against two fake upstreams. Task 05 brings the script.
smoke: build
	sh tools/smoke.sh
