.PHONY:  build generate go-clean clean check

build: build-bin

# Go build
build-bin: bin/server bin/pipeline

generate:
	make -C ../central generate  # metrics depend on central
	make -C ../tools bin/mdatagen
	go generate codegen.go

check:
	@./scripts/check

go-clean:
	go clean

clean: go-clean
	rm -f ./build/server/server

# Binary build
bin/server: generate
	./scripts/go-build -o build/server/server cmd/scrape_gateway/main.go

bin/pipeline: generate
	./scripts/go-build -o build/pipeline/pipeline cmd/push_pipeline/main.go

cover:
	go test -cover -coverprofile=coverage.out -race ./...
	go tool cover -html=coverage.out
	rm -f coverage.out
