Makefile 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 $${package_name}.zip $${package_name}.tar.gz ../$(PACKAGES_PATH)
  37. @echo "Package build success"
  38. .PHONY: clean
  39. clean:
  40. rm -rf _build