Makefile 617 B

12345678910111213141516171819202122
  1. LDFLAGS="-X main.buildstamp=`date -u '+%s'` -X main.githash=`git rev-parse HEAD`"
  2. ARCH ?= linux-amd64
  3. ARCH_LIST = $(subst -, ,$(ARCH))
  4. GOOS = $(word 1, $(ARCH_LIST))
  5. GOARCH = $(word 2, $(ARCH_LIST))
  6. BUILDBIN = tunasync tunasynctl
  7. all: $(BUILDBIN)
  8. build-$(ARCH):
  9. mkdir -p $@
  10. $(BUILDBIN): % : build-$(ARCH) build-$(ARCH)/%
  11. $(BUILDBIN:%=build-$(ARCH)/%) : build-$(ARCH)/% : cmd/%
  12. GOOS=$(GOOS) GOARCH=$(GOARCH) go get ./$<
  13. GOOS=$(GOOS) GOARCH=$(GOARCH) go build -o $@ -ldflags ${LDFLAGS} github.com/tuna/tunasync/$<
  14. test:
  15. go test -v -covermode=count -coverprofile=profile.cov ./...
  16. .PHONY: all test $(BUILDBIN)