Files
2026-08-30 15:35:28 +08:00

56 lines
1.2 KiB
Bash

#!/bin/bash
# Build StreamCore Edge Agent
# Prerequisites: Go 1.19+, mediamtx binary in mediamtx/
#
# Build for Linux:
# ./build.sh linux
# Build for Windows:
# ./build.sh windows
# Build both:
# ./build.sh all
set -e
PLATFORM="${1:-linux}"
VERSION="${VERSION:-0.1.0}"
OUTDIR="dist"
APP="streamcore-edge"
export GO111MODULE=on
export GOPROXY="${GOPROXY:-https://goproxy.cn,direct}"
build_linux() {
echo "Building Linux (amd64)..."
GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build \
-ldflags="-s -w -X main.Version=${VERSION}" \
-o "${OUTDIR}/${APP}-linux-amd64" \
.
echo " -> ${OUTDIR}/${APP}-linux-amd64"
}
build_windows() {
echo "Building Windows (amd64)..."
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build \
-ldflags="-s -w -H windowsgui -X main.Version=${VERSION}" \
-o "${OUTDIR}/${APP}-windows-amd64.exe" \
.
echo " -> ${OUTDIR}/${APP}-windows-amd64.exe"
}
mkdir -p "${OUTDIR}"
case "${PLATFORM}" in
linux) build_linux ;;
windows) build_windows ;;
all)
build_linux
build_windows
;;
*)
echo "Usage: $0 {linux|windows|all}"
exit 1
;;
esac
echo "Done."