make build should build if any go file is touched

Signed-off-by: David Gageot <david@gageot.net>
This commit is contained in:
David Gageot 2015-12-15 09:57:28 +01:00
parent 72d2fb6b27
commit 35ff801ae4
1 changed files with 9 additions and 8 deletions

View File

@ -1,22 +1,23 @@
extension = $(patsubst windows,.exe,$(filter windows,$(1)))
define gocross
GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 $(GO) build \
-o $(PREFIX)/bin/docker-$(patsubst cmd/%.go,%,$3)_$(1)-$(2)$(call extension,$(GOOS)) \
GOOS=$(1) GOARCH=$(2) CGO_ENABLED=0 \
$(GO) build \
-o $(PREFIX)/bin/docker-machine_$(1)-$(2)$(call extension,$(GOOS)) \
-a $(VERBOSE_GO) -tags "static_build netgo $(BUILDTAGS)" -installsuffix netgo \
-ldflags "$(GO_LDFLAGS) -extldflags -static" $(GO_GCFLAGS) $(3);
-ldflags "$(GO_LDFLAGS) -extldflags -static" $(GO_GCFLAGS) ./cmd/machine.go;
endef
build-clean:
rm -Rf $(PREFIX)/bin/*
build-x: ./cmd/machine.go
$(foreach GOARCH,$(TARGET_ARCH),$(foreach GOOS,$(TARGET_OS),$(call gocross,$(GOOS),$(GOARCH),$<)))
build-x: $(shell find . -type f -name '*.go')
$(foreach GOARCH,$(TARGET_ARCH),$(foreach GOOS,$(TARGET_OS),$(call gocross,$(GOOS),$(GOARCH))))
$(PREFIX)/bin/docker-machine$(call extension,$(GOOS)): ./cmd/machine.go
$(PREFIX)/bin/docker-machine$(call extension,$(GOOS)): $(shell find . -type f -name '*.go')
$(GO) build \
-o $@ \
$(VERBOSE_GO) -tags "$(BUILDTAGS)" \
-ldflags "$(GO_LDFLAGS)" $(GO_GCFLAGS) $<
-ldflags "$(GO_LDFLAGS)" $(GO_GCFLAGS) ./cmd/machine.go
build: $(PREFIX)/bin/docker-machine
build: $(PREFIX)/bin/docker-machine$(call extension,$(GOOS))