mirror of
				https://github.com/thunderbrewhq/thunderbrew
				synced 2025-10-30 15:56:04 +03: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-21
 | |
| 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
 | 
