#!/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
