56 lines
1.2 KiB
Bash
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."
|