PROG     := blurp
COMMIT   := $(shell git rev-list -1 HEAD)
GCFLAGS  := -gcflags="all=-l -B"
LDFLAGS  := -ldflags="-X 'main.Commit=$(COMMIT)' -s -w"
ALLFLAGS := -v $(GCFLAGS) $(LDFLAGS)

default: build

check:
	@test -z $$(gofmt -l .) || \
	(echo "gofmt: formatting issue - run 'make format' to resolve" && exit 1)

format:
	@gofmt -s -w .

build: check
	@go build $(ALLFLAGS) .

upx:
	@upx --lzma ./$(PROG)

deps:
	@go get -t -u ./...

.PHONY: check format build install test clean upx release deps
