Makefile 1018 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # Luis Figueiredo (luisf@casemyway.com)
  2. #
  3. GOPATH=$(CURDIR)/deps:$(CURDIR)
  4. DIST=./DIST
  5. ENV=
  6. # Source in packages names
  7. # What packages to build
  8. # CLI Packages
  9. CLI=flowserver/cmd/flowserver
  10. BIN=$(addprefix $(DIST)/, $(notdir $(CLI)))
  11. # Windows build
  12. ifeq ($(GOOS),windows)
  13. ENV+=CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ CGO_ENABLED=1 GOOS=$(GOOS) GOARCH=$(GOARCH)
  14. BIN:=$(addsuffix .exe, $(BIN))
  15. endif
  16. .PHONY: all deps clean dist-clean $(BIN)
  17. all: $(BIN)
  18. @$(ENV) echo -e "\e[32;01mBuilt for OS: `go env GOOS`, ARCH: `go env GOARCH`\e[0m"
  19. $(BIN): deps
  20. $(ENV) GOPATH="$(GOPATH)" go build -o $@ $(CLI)
  21. # generate
  22. generate:
  23. GOPATH="$(GOPATH)" go generate ./src/...
  24. test:
  25. $(ENV) go test ./src/...
  26. #$(BIN): $(addprefix src/,$(SOURCE))
  27. # echo $<
  28. deps:
  29. $(ENV) GOPATH="$(GOPATH)" go get -v ./src/... # everything from source
  30. # test package
  31. $(ENV) GOPATH="$(GOPATH)" go get -v -t ./src/...
  32. clean:
  33. rm -rf $(DIST)
  34. dist-clean: clean
  35. rm -rf bin
  36. rm -rf pkg
  37. rm -rf deps
  38. $(DIST):
  39. mkdir -p $(DIST)