APP?=httpserver.exe GOOS?=windows COMMIT?=$(shell git rev-parse --short HEAD) BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S') .PHONY: check check: prepare_metalinter golangci-lint run ../../... .PHONY: rebuild rebuild: clean CGO_ENABLED=0 GOOS=${GOOS} go build -v -a -mod vendor \ -ldflags "-X main.commit=${COMMIT} -X main.buildTime=${BUILD_TIME}" \ -o bin/${GOOS}/${APP} .PHONY: build build: clean CGO_ENABLED=0 GOOS=${GOOS} go build -v -mod vendor \ -ldflags "-X main.commit=${COMMIT} -X main.buildTime=${BUILD_TIME}" \ -o bin/${GOOS}/${APP} .PHONY: clean clean: @rm -f bin/${GOOS}/${APP} .PHONY: vendor vendor: prepare_dep dep ensure HAS_DEP := $(shell command -v dep;) HAS_METALINTER := $(shell command -v golangci-lint;) .PHONY: prepare_dep prepare_dep: ifndef HAS_DEP go get -u -v -d github.com/golang/dep/cmd/dep && \ go install -v github.com/golang/dep/cmd/dep endif .PHONY: prepare_metalinter prepare_metalinter: ifndef HAS_METALINTER go get -u github.com/golangci/golangci-lint/cmd/golangci-lint endif