GO     := CGO_ENABLED=0 go
export GOFLAGS := -mod=mod

.PHONY: list bin/goqueryset bin/statik
list:
	@$(MAKE) -pRrq -f $(lastword $(MAKEFILE_LIST)) : 2>/dev/null | awk -v RS= -F: '/^# File/,/^# Finished Make data base/ {if ($$1 !~ "^[#.]") {print $$1}}' | sort | egrep -v -e '^[^[:alnum:]]' -e '^$@$$' | grep -v go.mod | xargs

go.mod:
	$(GO) mod init github.com/go-swagger/go-swagger/cmd/swagger

bin/revive: go.mod
	go build -o bin/revive github.com/mgechev/revive

bin/golangci-lint: go.mod
	go get -d github.com/golangci/golangci-lint/cmd/golangci-lint@v1.46.2; \
	go build -o bin/golangci-lint github.com/golangci/golangci-lint/cmd/golangci-lint

bin/statik-0.1.7: go.mod
	go get -d github.com/rakyll/statik@v0.1.7; \
	go build -o bin/statik-0.1.7 github.com/rakyll/statik;

bin/statik: bin/statik-0.1.7
	ln -sf statik-0.1.7 bin/statik

bin/goqueryset-96ce7dc878747268ddbc89fec219be4bccaf0067: go.mod
	go get -d "github.com/tidbcloud/go-queryset@96ce7dc878747268ddbc89fec219be4bccaf0067"; \
	go build -o "bin/goqueryset-96ce7dc878747268ddbc89fec219be4bccaf0067" "github.com/jirfag/go-queryset/cmd/goqueryset";

bin/goqueryset: bin/goqueryset-96ce7dc878747268ddbc89fec219be4bccaf0067
	ln -sf "goqueryset-96ce7dc878747268ddbc89fec219be4bccaf0067" "bin/goqueryset"

bin/swagger-v0.23.0: go.mod
	go get -d github.com/go-swagger/go-swagger@v0.23.0
	go build -o "bin/swagger-v0.23.0" github.com/go-swagger/go-swagger/cmd/swagger

bin/swagger: bin/swagger-v0.23.0
	ln -sf "swagger-v0.23.0" "bin/swagger"

# otel metrics generator
bin/mdatagen:
	$(GO) get -d "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/mdatagen@9c9d1913003eb374c8c6108129d6bf01b947fe89"; \
    $(GO) build -o "bin/mdatagen" "github.com/open-telemetry/opentelemetry-collector-contrib/cmd/mdatagen";
