#!/bin/bash # Main build process build() { local os=$1 local arch=$2 local output=$3 # Set CGO flags for static linking export CGO_ENABLED=1 export GOOS=$os export GOARCH=$arch # Platform specific flags if [ "$os" = "windows" ]; then export CC=x86_64-w64-mingw32-gcc export CXX=x86_64-w64-mingw32-g++ fi go build -buildvcs=false -ldflags="-s -w" -o $output } # Call build with provided arguments build "$1" "$2" "$3"