#!/bin/sh set -eu ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) BUILD_DIR="$ROOT_DIR/build" SOCK_PATH=${AMDUATD_SOCK:-"$ROOT_DIR/amduatd.sock"} STORE_ROOT=${AMDUATD_ROOT:-"$ROOT_DIR/.amduat-asl"} if [ ! -d "$BUILD_DIR" ]; then cmake -S "$ROOT_DIR" -B "$BUILD_DIR" fi cmake --build "$BUILD_DIR" -j if [ -S "$SOCK_PATH" ]; then pid= if command -v lsof >/dev/null 2>&1; then pid=$(lsof -t -- "$SOCK_PATH" 2>/dev/null | head -n 1 || true) elif command -v fuser >/dev/null 2>&1; then pid=$(fuser "$SOCK_PATH" 2>/dev/null | awk '{print $1}' | head -n 1 || true) fi if [ -n "${pid:-}" ]; then kill "$pid" 2>/dev/null || true i=0 while [ $i -lt 30 ] && kill -0 "$pid" 2>/dev/null; do i=$((i + 1)) sleep 0.1 done fi rm -f "$SOCK_PATH" fi exec "$BUILD_DIR/amduatd" --root "$STORE_ROOT" --sock "$SOCK_PATH"