mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-11-04 01:34:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
#
 | 
						|
# Build the Android libraries without needing a project
 | 
						|
# (AndroidManifest.xml, jni/{Application,Android}.mk, etc.)
 | 
						|
#
 | 
						|
# Usage: androidbuildlibs.sh [arg for ndk-build ...]"
 | 
						|
#
 | 
						|
# Useful NDK arguments:
 | 
						|
#
 | 
						|
#  NDK_DEBUG=1          - build debug version
 | 
						|
#  NDK_LIBS_OUT=<dest>  - specify alternate destination for installable
 | 
						|
#                         modules.
 | 
						|
#
 | 
						|
 | 
						|
 | 
						|
# Android.mk is in srcdir
 | 
						|
srcdir=`dirname $0`/..
 | 
						|
srcdir=`cd $srcdir && pwd`
 | 
						|
cd $srcdir
 | 
						|
 | 
						|
 | 
						|
#
 | 
						|
# Create the build directories
 | 
						|
#
 | 
						|
 | 
						|
build=build
 | 
						|
buildandroid=$build/android
 | 
						|
platform=android-16
 | 
						|
abi="arm64-v8a" # "armeabi-v7a arm64-v8a x86 x86_64"
 | 
						|
obj=
 | 
						|
lib=
 | 
						|
ndk_args=
 | 
						|
 | 
						|
# Allow an external caller to specify locations and platform.
 | 
						|
while [ $# -gt 0 ]; do
 | 
						|
    arg=$1
 | 
						|
    if [ "${arg:0:8}" == "NDK_OUT=" ]; then
 | 
						|
        obj=${arg#NDK_OUT=}
 | 
						|
    elif [ "${arg:0:13}" == "NDK_LIBS_OUT=" ]; then
 | 
						|
        lib=${arg#NDK_LIBS_OUT=}
 | 
						|
    elif [ "${arg:0:13}" == "APP_PLATFORM=" ]; then
 | 
						|
        platform=${arg#APP_PLATFORM=}
 | 
						|
    elif [ "${arg:0:8}" == "APP_ABI=" ]; then
 | 
						|
        abi=${arg#APP_ABI=}
 | 
						|
    else
 | 
						|
        ndk_args="$ndk_args $arg"
 | 
						|
    fi
 | 
						|
    shift
 | 
						|
done
 | 
						|
 | 
						|
if [ -z $obj ]; then
 | 
						|
    obj=$buildandroid/obj
 | 
						|
fi
 | 
						|
if [ -z $lib ]; then
 | 
						|
    lib=$buildandroid/lib
 | 
						|
fi
 | 
						|
 | 
						|
for dir in $build $buildandroid $obj $lib; do
 | 
						|
    if test -d $dir; then
 | 
						|
        :
 | 
						|
    else
 | 
						|
        mkdir $dir || exit 1
 | 
						|
    fi
 | 
						|
done
 | 
						|
 | 
						|
 | 
						|
# APP_* variables set in the environment here will not be seen by the
 | 
						|
# ndk-build makefile segments that use them, e.g., default-application.mk.
 | 
						|
# For consistency, pass all values on the command line.
 | 
						|
ndk-build \
 | 
						|
    NDK_PROJECT_PATH=null \
 | 
						|
    NDK_OUT=$obj \
 | 
						|
    NDK_LIBS_OUT=$lib \
 | 
						|
    APP_BUILD_SCRIPT=Android.mk \
 | 
						|
    APP_ABI="$abi" \
 | 
						|
    APP_PLATFORM="$platform" \
 | 
						|
    APP_MODULES="SDL3" \
 | 
						|
    $ndk_args
 |