.PHONY: default manager demoworker all clean fmt docker

GOBIN = $(shell pwd)/build/bin
TAG ?= latest
GOFILES_NOVENDOR := $(shell go list -f "{{.Dir}}" ./...)

VERSION := $(shell git describe --tags)
COMMIT_SHA1 := $(shell git rev-parse HEAD)
AppName := manager

default: manager

all: manager demoworker

BUILD_FLAGS = -tags netgo -ldflags "\
	-X github.com/odysseus/nodemanager/versions.AppName=${AppName} \
	-X github.com/odysseus/nodemanager/versions.TagVersion=${VERSION} \
	-X 'github.com/odysseus/nodemanager/versions.BuildTime=`date`' \
	-X github.com/odysseus/nodemanager/versions.CommitSha1=${COMMIT_SHA1}  \
	-X 'github.com/odysseus/nodemanager/versions.GoVersion=`go version`' \
	-X 'github.com/odysseus/nodemanager/versions.GitBranch=`git symbolic-ref --short -q HEAD`' \
	"

manager:
	go build $(BUILD_FLAGS) -o=${GOBIN}/$@ -gcflags "all=-N -l" ./cmd/manager
	@echo "Done building."

demoworker:
	go build $(BUILD_FLAGS) -o=${GOBIN}/$@ -gcflags "all=-N -l" ./cmd/demoworker
	@echo "Done building."


clean:
	rm -fr build/*
docker:
	docker build -t manager:${TAG} .
