30 lines
686 B
Bash
Executable File
30 lines
686 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Default architecture
|
|
DEFAULT_ARCH="linux/amd64"
|
|
|
|
# Supported architectures (adjust as needed)
|
|
ARCHITECTURES=("linux/amd64" "linux/arm64" "linux/arm/v7")
|
|
|
|
# Build function
|
|
build_binary() {
|
|
os=$1
|
|
arch=$2
|
|
output_name="go-glitch"
|
|
|
|
if [[ "$os/$arch" != "$DEFAULT_ARCH" ]]; then
|
|
output_name="${output_name}_${os}_${arch}"
|
|
fi
|
|
|
|
echo "Building for ${os}/${arch} -> ${output_name}"
|
|
GOOS=${os} GOARCH=${arch} go build -o ${output_name}
|
|
}
|
|
|
|
# Main Build Process
|
|
for arch in "${ARCHITECTURES[@]}"; do
|
|
IFS='/' read -r -a parts <<< "$arch" # Split architecture string
|
|
os=${parts[0]}
|
|
arch=${parts[1]}
|
|
build_binary $os $arch
|
|
done
|