Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. BUILD_PATH ?= _build
  2. PACKAGES_PATH ?= _packages
  3. GO111MODULE ?=
  4. GOPROXY ?= https://goproxy.io
  5. GOOS ?= ""
  6. GOARCH ?= ""
  7. .PHONY: build
  8. build:
  9. @mkdir -p $(BUILD_PATH)/engine/bin
  10. @mkdir -p $(BUILD_PATH)/engine/etc
  11. @mkdir -p $(BUILD_PATH)/engine/data
  12. @mkdir -p $(BUILD_PATH)/engine/plugins
  13. @mkdir -p $(BUILD_PATH)/engine/log
  14. @cp -r etc/* $(BUILD_PATH)/engine/etc
  15. @if [ ! -z $(GOOS) ] && [ ! -z $(GOARCH) ];then \
  16. GO111MODULE=on GOPROXY=https://goproxy.io GOOS=$(GOOS) $(GOARCH)=$(GOARCH) CGO_ENABLED=0 go build -ldflags="-s -w" -o cli xstream/cli/main.go; \
  17. GO111MODULE=on GOPROXY=https://goproxy.io GOOS=$(GOOS) $(GOARCH)=$(GOARCH) CGO_ENABLED=0 go build -ldflags="-s -w" -o server xstream/server/main.go; \
  18. else \
  19. GO111MODULE=on GOPROXY=https://goproxy.io CGO_ENABLED=0 go build -ldflags="-s -w" -o cli xstream/cli/main.go; \
  20. GO111MODULE=on GOPROXY=https://goproxy.io CGO_ENABLED=0 go build -ldflags="-s -w" -o server xstream/server/main.go; \
  21. fi
  22. @if [ ! -z $$(which upx) ]; then upx ./cli; upx ./server; fi
  23. @mv ./cli ./server $(BUILD_PATH)/engine/bin
  24. @echo "Build successfully"
  25. .PHONY: pkg
  26. pkg: build
  27. @mkdir -p $(PACKAGES_PATH)
  28. @if [ ! -z $(GOOS) ] && [ ! -z $(GOARCH) ];then \
  29. package_name=engine_$(GOARCH); \
  30. else \
  31. package_name=engine; \
  32. fi; \
  33. cd $(BUILD_PATH); \
  34. zip -rq $${package_name}.zip engine; \
  35. tar -czf $${package_name}.tar.gz engine; \
  36. mv engine.zip engine.tar.gz ../$(PACKAGES_PATH)
  37. @echo "Package build success"