|
|
|
@ -60,7 +60,6 @@ $(warning Some recipes may not work as expected as the current Go runtime is '$(
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
PROMU := $(FIRST_GOPATH)/bin/promu
|
|
|
|
|
STATICCHECK := $(FIRST_GOPATH)/bin/staticcheck
|
|
|
|
|
pkgs = ./...
|
|
|
|
|
|
|
|
|
|
ifeq (arm, $(GOHOSTARCH))
|
|
|
|
@ -72,8 +71,17 @@ endif
|
|
|
|
|
|
|
|
|
|
PROMU_VERSION ?= 0.3.0
|
|
|
|
|
PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_VERSION)/promu-$(PROMU_VERSION).$(GO_BUILD_PLATFORM).tar.gz
|
|
|
|
|
|
|
|
|
|
STATICCHECK :=
|
|
|
|
|
# staticcheck only supports linux, freebsd, darwin and windows platforms on i386/amd64
|
|
|
|
|
# windows isn't included here because of the path separator being different.
|
|
|
|
|
ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux freebsd darwin))
|
|
|
|
|
ifeq ($(GOHOSTARCH),$(filter $(GOHOSTARCH),amd64 i386))
|
|
|
|
|
STATICCHECK := $(FIRST_GOPATH)/bin/staticcheck
|
|
|
|
|
STATICCHECK_VERSION ?= 2019.1
|
|
|
|
|
STATICCHECK_URL := https://github.com/dominikh/go-tools/releases/download/$(STATICCHECK_VERSION)/staticcheck_$(GOHOSTOS)_$(GOHOSTARCH)
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
PREFIX ?= $(shell pwd)
|
|
|
|
|
BIN_DIR ?= $(shell pwd)
|
|
|
|
@ -87,14 +95,14 @@ ifeq ($(GOHOSTARCH),amd64)
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
.PHONY: all
|
|
|
|
|
all: precheck style staticcheck unused build test
|
|
|
|
|
|
|
|
|
|
# This rule is used to forward a target like "build" to "common-build". This
|
|
|
|
|
# allows a new "build" target to be defined in a Makefile which includes this
|
|
|
|
|
# one and override "common-build" without override warnings.
|
|
|
|
|
%: common-% ;
|
|
|
|
|
|
|
|
|
|
.PHONY: common-all
|
|
|
|
|
common-all: precheck style check_license staticcheck unused build test
|
|
|
|
|
|
|
|
|
|
.PHONY: common-style
|
|
|
|
|
common-style:
|
|
|
|
|
@echo ">> checking code style"
|
|
|
|
@ -116,6 +124,15 @@ common-check_license:
|
|
|
|
|
exit 1; \
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
.PHONY: common-deps
|
|
|
|
|
common-deps:
|
|
|
|
|
@echo ">> getting dependencies"
|
|
|
|
|
ifdef GO111MODULE
|
|
|
|
|
GO111MODULE=$(GO111MODULE) $(GO) mod download
|
|
|
|
|
else
|
|
|
|
|
$(GO) get $(GOOPTS) -t ./...
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
.PHONY: common-test-short
|
|
|
|
|
common-test-short:
|
|
|
|
|
@echo ">> running short tests"
|
|
|
|
@ -138,6 +155,7 @@ common-vet:
|
|
|
|
|
|
|
|
|
|
.PHONY: common-staticcheck
|
|
|
|
|
common-staticcheck: $(STATICCHECK)
|
|
|
|
|
ifdef STATICCHECK
|
|
|
|
|
@echo ">> running staticcheck"
|
|
|
|
|
chmod +x $(STATICCHECK)
|
|
|
|
|
ifdef GO111MODULE
|
|
|
|
@ -148,6 +166,7 @@ ifdef GO111MODULE
|
|
|
|
|
else
|
|
|
|
|
$(STATICCHECK) -ignore "$(STATICCHECK_IGNORE)" $(pkgs)
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
.PHONY: common-unused
|
|
|
|
|
common-unused: $(GOVENDOR)
|
|
|
|
@ -205,9 +224,11 @@ proto:
|
|
|
|
|
@echo ">> generating code from proto files"
|
|
|
|
|
@./scripts/genproto.sh
|
|
|
|
|
|
|
|
|
|
ifdef STATICCHECK
|
|
|
|
|
$(STATICCHECK):
|
|
|
|
|
mkdir -p $(FIRST_GOPATH)/bin
|
|
|
|
|
curl -s -L $(STATICCHECK_URL) > $(STATICCHECK)
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifdef GOVENDOR
|
|
|
|
|
.PHONY: $(GOVENDOR)
|
|
|
|
@ -221,7 +242,6 @@ precheck::
|
|
|
|
|
define PRECHECK_COMMAND_template =
|
|
|
|
|
precheck:: $(1)_precheck
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PRECHECK_COMMAND_$(1) ?= $(1) $$(strip $$(PRECHECK_OPTIONS_$(1)))
|
|
|
|
|
.PHONY: $(1)_precheck
|
|
|
|
|
$(1)_precheck:
|
|
|
|
|