24 lines
486 B
Bash
24 lines
486 B
Bash
|
#!/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"
|