phase 2
This commit is contained in:
36
media/ctrl/build.sh
Executable file
36
media/ctrl/build.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
# Build media transport targets
|
||||
# Usage: ./build.sh [client|server|all] [--release]
|
||||
# client build cht-client (default)
|
||||
# server build cht-server
|
||||
# all build both
|
||||
set -euo pipefail
|
||||
|
||||
MEDIA_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
CARGO="${CARGO:-$HOME/.cargo/bin/cargo}"
|
||||
|
||||
TARGET="${1:-client}"
|
||||
shift || true
|
||||
|
||||
CARGO_FLAGS=()
|
||||
for arg in "$@"; do
|
||||
CARGO_FLAGS+=("$arg")
|
||||
done
|
||||
|
||||
LOG_DIR="$MEDIA_DIR/logs"
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
build() {
|
||||
local pkg="$1"
|
||||
local log="$LOG_DIR/build-$pkg.log"
|
||||
echo "==> building $pkg ${CARGO_FLAGS[*]+"${CARGO_FLAGS[@]}"}"
|
||||
"$CARGO" build -p "cht-$pkg" "${CARGO_FLAGS[@]}" --manifest-path "$MEDIA_DIR/Cargo.toml" 2>&1 | tee "$log"
|
||||
return "${PIPESTATUS[0]}"
|
||||
}
|
||||
|
||||
case "$TARGET" in
|
||||
client) build client ;;
|
||||
server) build server ;;
|
||||
all) build client || true; build server ;;
|
||||
*) echo "Usage: $0 [client|server|all] [--release]" >&2; exit 1 ;;
|
||||
esac
|
||||
Reference in New Issue
Block a user