#!/usr/bin/env bash
# Standalone corresponding-source build / LGPL replacement. Does not alter an installed app.
set -euo pipefail
: "${ANDROID_HOME:?Set ANDROID_HOME}"
SOURCE=${1:?Pass extracted UVCAndroid source root}
WORK=${2:?Pass an empty output directory WITHOUT spaces}
if [[ "$WORK" == *' '* || -e "$WORK" ]]; then
  echo 'Choose a new empty output path without spaces (ndk-build limitation).' >&2; exit 2
fi
mkdir -p "$WORK/jni"
cp -R "$SOURCE/libuvccamera/src/main/jni/." "$WORK/jni/"
"$ANDROID_HOME/ndk/28.1.13356709/ndk-build" -C "$WORK/jni" \
  NDK_PROJECT_PATH="$WORK/jni" \
  APP_BUILD_SCRIPT="$WORK/jni/libusb/android/jni/Android.mk" \
  NDK_APPLICATION_MK="$WORK/jni/Application.mk" \
  APP_PLATFORM=android-21 'APP_ABI=armeabi-v7a arm64-v8a x86_64' \
  NDK_OUT="$WORK/obj" NDK_LIBS_OUT="$WORK/libs" -j4
echo 'Replacement built. Test USB/UVC/audio on your own device before use.'
