Support offline build
authorTobias Schmidt <tobidt@gmail.com>
Sat, 4 Mar 2017 03:36:25 +0000 (23:36 -0400)
committerTobias Schmidt <tobidt@gmail.com>
Sat, 4 Mar 2017 03:49:21 +0000 (23:49 -0400)
Don't reinstall promu if it is already available.

Makefile

index 0b26c361951d346371073055e6bbe02d62a33fda..10a6cbf513d14d88e5916c91fc545d03e6486bbb 100644 (file)
--- a/Makefile
+++ b/Makefile
 # 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)
@@ -39,11 +40,11 @@ vet:
        @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)
 
@@ -51,10 +52,7 @@ docker:
        @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