Only execute vendor rule when building all.
[src/xds/xds-agent.git] / Makefile
index 22b954a..64064fe 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,11 @@
 # Makefile used to build XDS daemon Web Server
 
 # Application Version
-VERSION := 0.0.1
+VERSION := 0.1.0
 
 # Syncthing version to install
 SYNCTHING_VERSION = 0.14.28
-# FIXME: use patched version while waiting integration of #165
-#SYNCTHING_INOTIFY_VERSION = 0.8.5
-SYNCTHING_INOTIFY_VERSION = master
+SYNCTHING_INOTIFY_VERSION = 0.8.6
 
 
 
@@ -25,10 +23,12 @@ ifeq ($(origin SUB_VERSION), undefined)
        endif
 endif
 
+# for backward compatibility
+DESTDIR := $(INSTALL_DIR)
 
 # Configurable variables for installation (default /usr/local/...)
-ifeq ($(origin INSTALL_DIR), undefined)
-       INSTALL_DIR := /usr/local/bin
+ifeq ($(origin DESTDIR), undefined)
+       DESTDIR := /usr/local/bin
 endif
 
 HOST_GOOS=$(shell go env GOOS)
@@ -71,9 +71,9 @@ else
 endif
 
 
-all: tools/syncthing build
+all: tools/syncthing vendor build
 
-build: vendor tools/syncthing/copytobin
+build: tools/syncthing/copytobin
        @echo "### Build XDS agent (version $(VERSION), subversion $(SUB_VERSION)) - $(BUILD_MODE)";
        @cd $(ROOT_SRCDIR); $(BUILD_ENV_FLAGS) go build $(VERBOSE_$(V)) -i -o $(LOCAL_BINDIR)/xds-agent$(EXT) -ldflags "$(GORELEASE) -X main.AppVersion=$(VERSION) -X main.AppSubVersion=$(SUB_VERSION)" .
 
@@ -117,15 +117,18 @@ distclean: clean
 
 .PHONY: install
 install: all
-       mkdir -p $(INSTALL_DIR) && cp $(LOCAL_BINDIR)/* $(INSTALL_DIR)
+       mkdir -p $(DESTDIR) && cp $(LOCAL_BINDIR)/* $(DESTDIR)
 
 vendor: tools/glide glide.yaml
        ./tools/glide install --strip-vendor
 
+.PHONY: tools/glide
 tools/glide:
-       @echo "Downloading glide"
-       mkdir -p tools
-       curl --silent -L https://glide.sh/get | GOBIN=./tools  sh
+       @test -f $(LOCAL_TOOLSDIR)/glide || { \
+               echo "Downloading glide"; \
+               mkdir -p $(LOCAL_TOOLSDIR); \
+               curl --silent -L https://glide.sh/get | GOBIN=$(LOCAL_TOOLSDIR)  sh; \
+       }
 
 .PHONY: tools/syncthing
 tools/syncthing: