CUR_SHA=$(shell git log -n1 --pretty='%h') CUR_BRANCH=$(shell git branch --show-current) VERSION=$(shell git describe --exact-match --tags $(CUR_SHA) 2>/dev/null || echo $(CUR_BRANCH)-$(CUR_SHA)) CTN:=$(shell which podman 2>&1 1>/dev/null && echo "podman" || echo "docker") PREFIX=~/.local GO=container BLD_CMD=go build -o katenary -ldflags="-X 'main.Version=$(VERSION)'" . .PHONY: help clean build .ONESHELL: help: @cat < Building Katenary version" $(VERSION) ifeq ($(GO),local) @echo "=> Build in host using go" @echo else @echo "=> Build in container using" $(CTN) @echo endif ifeq ($(GO),local) echo $(BLD_CMD) $(BLD_CMD) else ifeq ($(CTN),podman) @podman run --rm -v $(PWD):/go/src/katenary:z -w /go/src/katenary --userns keep-id -it golang $(BLD_CMD) else @docker run --rm -v $(PWD):/go/src/katenary:z -w /go/src/katenary --user $(shell id -u):$(shell id -g) -e HOME=/tmp -it golang $(BLD_CMD) endif echo echo "Check the version" echo "'./katenary version' => $(shell ./katenary version)" install: build cp katenary $(PREFIX)/bin/katenary uninstall: rm -f $(PREFIX)/bin/katenary clean: rm -f katenary