#!/bin/bash # 设置编译后的程序基础名称 APP_NAME="cleandb" PUBLISH_DIR="./publish" # 创建或清理发布目录 if [ -d "$PUBLISH_DIR" ]; then echo ">>> 清理旧的发布目录..." rm -rf $PUBLISH_DIR/* else mkdir -p $PUBLISH_DIR fi # 复制配置文件到发布目录 if [ -f "config.json" ]; then echo ">>> 复制 config.json 到发布目录..." cp config.json $PUBLISH_DIR/ fi echo ">>> 开始多平台编译流程..." # 1. 编译 Windows 版本 echo "正在编译 Windows (amd64)..." GOOS=windows GOARCH=amd64 go build -o $PUBLISH_DIR/${APP_NAME}.exe ./*.go # 2. 编译 Linux 版本 echo "正在编译 Linux (amd64)..." GOOS=linux GOARCH=amd64 go build -o $PUBLISH_DIR/${APP_NAME} ./*.go # 3. 编译 macOS (Intel 芯片) #echo "正在编译 macOS (Darwin/amd64)..." #GOOS=darwin GOARCH=amd64 go build -o $PUBLISH_DIR/${APP_NAME}_darwin_amd64 ./*.go # 4. 编译 macOS (Apple M1/M2/M3 芯片) #echo "正在编译 macOS (Darwin/arm64)..." #GOOS=darwin GOARCH=arm64 go build -o $PUBLISH_DIR/${APP_NAME}_darwin_arm64 ./*.go echo "--------------------------------------------------" echo ">>> 编译任务已完成!" echo ">>> 编译结果已存放在: $PUBLISH_DIR" echo "--------------------------------------------------" # 列出生成的二进制文件 ls -lh $PUBLISH_DIR