.PHONY: build generate generate_buf

IMG     ?= regional-tcidm-service:latest
BIN     = bin
GOBIN   = $(abspath $(BIN))
GOENVS  = GO111MODULE=on CGO_ENABLED=0 GOOS=linux GOARCH=amd64
GOFLAGS = -ldflags "-s -w " -v

export DOCKER_BUILDKIT := 1
export GOBIN           := $(GOBIN)
export PATH            := ${GOBIN}:$(PATH)
export SHELL           := /bin/bash

build: generate
	$(GOENVS) go build $(GOFLAGS) -o bin/regional_tcidm_service cmd/regional_tcidm_service/main.go

generate: generate_buf

.PHONY: sync
sync:
	git submodule update --init --recursive

.PHONY: docker-build
docker-build: sync build ## Build docker image.
	docker build -t ${IMG} .

.PHONY: docker-push
docker-push: ## Push docker image.
	docker push ${IMG}

$(BIN):
	@mkdir -p $@

$(BIN)/%: $(BIN)
	go install $(PACKAGE)
