#!/bin/bash dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) mkdir -p $dir/out/ rm -f $dir/out/* platforms=( "linux/arm" "linux/amd64" "linux/arm64" "linux/386" "darwin/amd64" "darwin/arm64" "windows/386" "windows/amd64" "windows/arm64") for platform in "${platforms[@]}" do platform_split=(${platform//\// }) GOOS=${platform_split[0]} GOARCH=${platform_split[1]} output_name="farside" tar_name="farside_${GOOS}_${GOARCH}.tar.gz" if [ $GOOS = "darwin" ]; then tar_name="farside_macOS_${GOARCH}.tar.gz" fi if [ $GOOS = "windows" ]; then output_name+=".exe" fi compile_cmd="GOOS=$GOOS GOARCH=$GOARCH go build -ldflags='-s -w' -o $output_name ." echo "└ $compile_cmd" eval $compile_cmd if [ $? -ne 0 ]; then echo "An error has occurred! Aborting the script execution..." exit 1 fi tar -czvf out/$tar_name $output_name rm -f $output_name done