sdl

FORK: Simple Directmedia Layer
git clone https://git.neptards.moe/neptards/sdl.git
Log | Files | Refs

androidbuildlibs.sh (1614B)


      1 #!/bin/sh
      2 #
      3 # Build the Android libraries without needing a project
      4 # (AndroidManifest.xml, jni/{Application,Android}.mk, etc.)
      5 #
      6 # Usage: androidbuildlibs.sh [arg for ndk-build ...]"
      7 #
      8 # Useful NDK arguments:
      9 #
     10 #  NDK_DEBUG=1          - build debug version
     11 #  NDK_LIBS_OUT=<dest>  - specify alternate destination for installable
     12 #                         modules.
     13 #
     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.
     16 #
     17 
     18 
     19 # Android.mk is in srcdir
     20 srcdir=`dirname $0`/..
     21 srcdir=`cd $srcdir && pwd`
     22 cd $srcdir
     23 
     24 
     25 #
     26 # Create the build directories
     27 #
     28 
     29 build=build
     30 buildandroid=$build/android
     31 obj=
     32 lib=
     33 ndk_args=
     34 
     35 # Allow an external caller to specify locations.
     36 for arg in $*
     37 do
     38   if [ "${arg:0:8}" == "NDK_OUT=" ]; then
     39 	obj=${arg#NDK_OUT=}
     40   elif [ "${arg:0:13}" == "NDK_LIBS_OUT=" ]; then
     41 	lib=${arg#NDK_LIBS_OUT=}
     42   else
     43     ndk_args="$ndk_args $arg"
     44   fi
     45 done
     46 
     47 if [ -z $obj ]; then
     48   obj=$buildandroid/obj
     49 fi
     50 if [ -z $lib ]; then
     51   lib=$buildandroid/lib
     52 fi
     53 
     54 for dir in $build $buildandroid $obj $lib; do
     55     if test -d $dir; then
     56         :
     57     else
     58         mkdir $dir || exit 1
     59     fi
     60 done
     61 
     62 
     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.
     66 ndk-build \
     67   NDK_PROJECT_PATH=null \
     68   NDK_OUT=$obj \
     69   NDK_LIBS_OUT=$lib \
     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" \
     74   $ndk_args