# See the License for the specific language governing permissions and
# limitations under the License.
-GO := GO15VENDOREXPERIMENT=1 go
-PROMU := $(GOPATH)/bin/promu
-pkgs = $(shell $(GO) list ./... | grep -v /vendor/)
+GO := GO15VENDOREXPERIMENT=1 go
+GOPATH := $(firstword $(subst :, ,$(GOPATH)))
+PROMU ?= $(GOPATH)/bin/promu
+pkgs = $(shell $(GO) list ./... | grep -v /vendor/)
PREFIX ?= $(shell pwd)
BIN_DIR ?= $(shell pwd)
@echo ">> vetting code"
@$(GO) vet $(pkgs)
-build: promu
+build: $(PROMU)
@echo ">> building binaries"
@$(PROMU) build --prefix $(PREFIX)
-tarball: promu
+tarball: $(PROMU)
@echo ">> building release tarball"
@$(PROMU) tarball --prefix $(PREFIX) $(BIN_DIR)
@echo ">> building docker image"
@docker build -t "$(DOCKER_IMAGE_NAME):$(DOCKER_IMAGE_TAG)" .
-promu:
- @GOOS=$(shell uname -s | tr A-Z a-z) \
- GOARCH=$(subst x86_64,amd64,$(patsubst i%86,386,$(shell uname -m))) \
- $(GO) get -u github.com/prometheus/promu
-
+$(PROMU) promu:
+ @GOOS= GOARCH= $(GO) get -u github.com/prometheus/promu
.PHONY: all style format build test vet tarball docker promu