2017-10-26 00:02:49 +00:00
|
|
|
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
|
|
|
|
source $(dirname $0)/version
|
|
|
|
|
|
|
|
cd $(dirname $0)/..
|
|
|
|
|
2019-02-28 07:54:35 +00:00
|
|
|
OS_ARCH_ARG_LINUX="amd64 arm arm64"
|
|
|
|
OS_ARCH_ARG_WINDOWS="386 amd64"
|
|
|
|
OS_ARCH_ARG_DARWIN="amd64"
|
2017-11-14 23:11:38 +00:00
|
|
|
|
2017-10-26 00:02:49 +00:00
|
|
|
mkdir -p bin
|
2018-10-17 18:55:33 +00:00
|
|
|
[ "$(uname)" != "Darwin" ] && LINKFLAGS="-extldflags -static -s"
|
2017-10-26 00:02:49 +00:00
|
|
|
CGO_ENABLED=0 go build -ldflags "-X main.VERSION=$VERSION $LINKFLAGS" -o bin/rke
|
2017-11-14 23:11:38 +00:00
|
|
|
|
|
|
|
if [ -n "$CROSS" ]; then
|
|
|
|
rm -rf build/bin
|
|
|
|
mkdir -p build/bin
|
2019-02-28 07:54:35 +00:00
|
|
|
|
|
|
|
for ARCH in ${OS_ARCH_ARG_LINUX}; do
|
|
|
|
OUTPUT_BIN="build/bin/rke_linux-$ARCH"
|
|
|
|
echo "Building binary for linux/$ARCH..."
|
|
|
|
GOARCH=$ARCH GOOS=linux CGO_ENABLED=0 go build \
|
|
|
|
-ldflags="-w -X main.VERSION=$VERSION" \
|
|
|
|
-o ${OUTPUT_BIN} ./
|
|
|
|
done
|
|
|
|
|
|
|
|
for ARCH in ${OS_ARCH_ARG_WINDOWS}; do
|
|
|
|
OUTPUT_BIN="build/bin/rke_windows-$ARCH.exe"
|
|
|
|
echo "Building binary for windows/$ARCH..."
|
|
|
|
GOARCH=$ARCH GOOS=windows CGO_ENABLED=0 go build \
|
|
|
|
-ldflags="-w -X main.VERSION=$VERSION" \
|
|
|
|
-o ${OUTPUT_BIN} ./
|
|
|
|
done
|
|
|
|
|
|
|
|
for ARCH in ${OS_ARCH_ARG_DARWIN}; do
|
|
|
|
OUTPUT_BIN="build/bin/rke_darwin-$ARCH"
|
|
|
|
echo "Building binary for darwin/$ARCH..."
|
|
|
|
GOARCH=$ARCH GOOS=darwin CGO_ENABLED=0 go build \
|
|
|
|
-ldflags="-w -X main.VERSION=$VERSION" \
|
|
|
|
-o ${OUTPUT_BIN} ./
|
2017-11-14 23:11:38 +00:00
|
|
|
done
|
|
|
|
fi
|