31 lines
661 B
Bash
Executable File
31 lines
661 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Cross-compile device_agent para 4 targets. CGO-free (modernc.org/sqlite).
|
|
# Output: build/<goos>-<goarch>/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."
|