From ce9f9eaaba90e1e8327fcdbf3e09c8fc3f5fc3ed Mon Sep 17 00:00:00 2001 From: Vincent Young Date: Sun, 24 Apr 2022 10:24:13 +0800 Subject: [PATCH] Create .cross_compile.sh --- .cross_compile.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .cross_compile.sh diff --git a/.cross_compile.sh b/.cross_compile.sh new file mode 100644 index 0000000..60ec1e1 --- /dev/null +++ b/.cross_compile.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash + +set -e + +DIST_PREFIX=${1} +DEBUG_MODE=${2} +TARGET_DIR="dist" +PLATFORMS="darwin/amd64 darwin/arm64 linux/386 linux/amd64 linux/arm linux/arm64 windows/386 windows/amd64" + +rm -rf ${TARGET_DIR} +mkdir ${TARGET_DIR} + +for pl in ${PLATFORMS}; do + export GOOS=$(echo ${pl} | cut -d'/' -f1) + export GOARCH=$(echo ${pl} | cut -d'/' -f2) + export TARGET=${TARGET_DIR}/${DIST_PREFIX}_${GOOS}_${GOARCH} + if [ "${GOOS}" == "windows" ]; then + export TARGET=${TARGET_DIR}/${DIST_PREFIX}_${GOOS}_${GOARCH}.exe + fi + + echo "build => ${TARGET}" + if [ "${DEBUG_MODE}" == "debug" ]; then + go build -trimpath -gcflags "all=-N -l" -o ${TARGET} \ + -ldflags "-X 'main.version=${BUILD_VERSION}' \ + -X 'main.buildDate=${BUILD_DATE}' \ + -X 'main.commitID=${COMMIT_SHA1}'\ + -w -s" + else + go build -trimpath -o ${TARGET} \ + -ldflags "-X 'main.version=${BUILD_VERSION}' \ + -X 'main.buildDate=${BUILD_DATE}' \ + -X 'main.commitID=${COMMIT_SHA1}'\ + -w -s" + fi +done +