build.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/bin/bash
  2. # 设置编译后的程序基础名称
  3. APP_NAME="cleandb"
  4. PUBLISH_DIR="./publish"
  5. # 创建或清理发布目录
  6. if [ -d "$PUBLISH_DIR" ]; then
  7. echo ">>> 清理旧的发布目录..."
  8. rm -rf $PUBLISH_DIR/*
  9. else
  10. mkdir -p $PUBLISH_DIR
  11. fi
  12. # 复制配置文件到发布目录
  13. if [ -f "config.json" ]; then
  14. echo ">>> 复制 config.json 到发布目录..."
  15. cp config.json $PUBLISH_DIR/
  16. fi
  17. echo ">>> 开始多平台编译流程..."
  18. # 1. 编译 Windows 版本
  19. echo "正在编译 Windows (amd64)..."
  20. GOOS=windows GOARCH=amd64 go build -o $PUBLISH_DIR/${APP_NAME}.exe ./*.go
  21. # 2. 编译 Linux 版本
  22. echo "正在编译 Linux (amd64)..."
  23. GOOS=linux GOARCH=amd64 go build -o $PUBLISH_DIR/${APP_NAME} ./*.go
  24. # 3. 编译 macOS (Intel 芯片)
  25. #echo "正在编译 macOS (Darwin/amd64)..."
  26. #GOOS=darwin GOARCH=amd64 go build -o $PUBLISH_DIR/${APP_NAME}_darwin_amd64 ./*.go
  27. # 4. 编译 macOS (Apple M1/M2/M3 芯片)
  28. #echo "正在编译 macOS (Darwin/arm64)..."
  29. #GOOS=darwin GOARCH=arm64 go build -o $PUBLISH_DIR/${APP_NAME}_darwin_arm64 ./*.go
  30. echo "--------------------------------------------------"
  31. echo ">>> 编译任务已完成!"
  32. echo ">>> 编译结果已存放在: $PUBLISH_DIR"
  33. echo "--------------------------------------------------"
  34. # 列出生成的二进制文件
  35. ls -lh $PUBLISH_DIR