#!/usr/bin/env bash # Cross-compile device_agent para 4 targets. CGO-free (modernc.org/sqlite). # Output: build/-/device_agent[.exe] set -euo pipefail cd "$(dirname "$0")" mkdir -p build TARGETS=( "linux/amd64" "linux/arm64" "windows/amd64" "darwin/arm64" ) for tgt in "${TARGETS[@]}"; do GOOS=${tgt%/*} GOARCH=${tgt#*/} EXT="" [ "$GOOS" = "windows" ] && EXT=".exe" OUT="build/$GOOS-$GOARCH/device_agent$EXT" mkdir -p "build/$GOOS-$GOARCH" echo "==> Building $tgt -> $OUT" CGO_ENABLED=0 GOOS="$GOOS" GOARCH="$GOARCH" \ go build -ldflags="-s -w" -o "$OUT" . ls -la "$OUT" done echo "" echo "All targets built OK."