
PWD := $(shell pwd)
OUTPUT_DIR ?= $(PWD)/bin
GO := go
GOLANGCI_LINT := $(OUTPUT_DIR)/golangci-lint

GO_MOD := github.com/tidbcloud/infra-provider/infra-inspector
BIN_NAME ?= infra-inspector
IMAGE ?= infra-inspector:latest

export CGO_ENABLED=0
export GOOS=linux
export GOARCH=amd64

.PHONY: build
build: OUTPUT ?= $(OUTPUT_DIR)/$(BIN_NAME)
build: 
	$(GO) build -ldflags "-s -w" -o $(OUTPUT) $(GO_MOD)/cmd

.PHONY: docker-build
docker-build: build
docker-build:
	docker build -t $(IMAGE) .

.PHONY: lint
lint: golangci-lint
lint:
	$(GOLANGCI_LINT) run ./...

.PHONY: golangci-lint
golangci-lint:
	GOBIN=$(OUTPUT_DIR) go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.50.1