summaryrefslogtreecommitdiff
path: root/.cross_compile.sh
diff options
context:
space:
mode:
Diffstat (limited to '.cross_compile.sh')
-rw-r--r--.cross_compile.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/.cross_compile.sh b/.cross_compile.sh
new file mode 100644
index 0000000..19b754e
--- /dev/null
+++ b/.cross_compile.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+
+set -e
+
+DIST_PREFIX="nf"
+DEBUG_MODE=${2}
+TARGET_DIR="dist"
+PLATFORMS="darwin/amd64 darwin/arm64 linux/amd64 linux/arm64 linux/mips"
+
+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
+