3 # Build the Android libraries without needing a project
4 # (AndroidManifest.xml, jni/{Application,Android}.mk, etc.)
6 # Usage: androidbuildlibs.sh [arg for ndk-build ...]"
8 # Useful NDK arguments:
10 # NDK_DEBUG=1 - build debug version
11 # NDK_LIBS_OUT=<dest> - specify alternate destination for installable
14 # Note that SDLmain is not an installable module (.so) so libSDLmain.a
15 # can be found in $obj/local/<abi> along with the unstripped libSDL.so.
19 # Android.mk is in srcdir
20 srcdir=`dirname $0`/..
21 srcdir=`cd $srcdir && pwd`
26 # Create the build directories
30 buildandroid=$build/android
35 # Allow an external caller to specify locations.
38 if [ "${arg:0:8}" == "NDK_OUT=" ]; then
40 elif [ "${arg:0:13}" == "NDK_LIBS_OUT=" ]; then
41 lib=${arg#NDK_LIBS_OUT=}
43 ndk_args="$ndk_args $arg"
54 for dir in $build $buildandroid $obj $lib; do
63 # APP_* variables set in the environment here will not be seen by the
64 # ndk-build makefile segments that use them, e.g., default-application.mk.
65 # For consistency, pass all values on the command line.
67 NDK_PROJECT_PATH=null \
70 APP_BUILD_SCRIPT=Android.mk \
71 APP_ABI="armeabi-v7a arm64-v8a x86 x86_64" \
72 APP_PLATFORM=android-16 \
73 APP_MODULES="SDL2 SDL2_main" \