0ad/build/android/sdl-project/Makefile
Ykkrosh 29e4b1a17c Update Android support
This was SVN commit r14068.
2013-11-02 23:05:38 +00:00

75 lines
2.0 KiB
Makefile

ANDROID=${HOME}/android
NDK=${ANDROID}/android-ndk-r8-crystax-1
SDK=${ANDROID}/android-sdk-linux
TOOLCHAIN=${ANDROID}/toolchain-0ad
SYSROOT=${TOOLCHAIN}/sysroot
BUILDTOOLS=${SDK}/build-tools/18.1.1
AAPT=${BUILDTOOLS}/aapt
ADB=${SDK}/platform-tools/adb
DX=${BUILDTOOLS}/dx
ZIPALIGN=${SDK}/tools/zipalign
NDKBUILD=${NDK}/ndk-build
ANDROIDJAR=${SDK}/platforms/android-18/android.jar
LIBPYRO=libpyrogenesis_dbg.so
#LIBPYRO=libpyrogenesis.so
PACKAGE=org/libsdl/app
#PACKAGE=com/wildfiregames/zeroad
all: bin/0ad.apk
gen/${PACKAGE}/R.java:
mkdir -p bin/res
mkdir -p gen
${AAPT} package -f -m -J gen/ -M AndroidManifest.xml -S bin/res -S res -I ${ANDROIDJAR}
bin/classes/${PACKAGE}/SDLActivity.class: src/${PACKAGE}/SDLActivity.java gen/${PACKAGE}/R.java
mkdir -p bin/classes/${PACKAGE}/
javac \
-d bin/classes \
-classpath bin/classes:. \
-sourcepath src:gen \
-target 1.5 \
-bootclasspath ${ANDROIDJAR} \
-encoding UTF-8 \
-g \
-source 1.5 \
$^
bin/classes.dex: bin/classes/${PACKAGE}/SDLActivity.class
${DX} --dex --output $@ bin/classes
libs/armeabi/libmain.so libs/armeabi/libSDL2.so: jni/src/pyrogenesis_wrapper.cpp
${NDKBUILD}
lib/armeabi/libmain.so lib/armeabi/libSDL2.so: libs/armeabi/libmain.so libs/armeabi/libSDL2.so
mkdir -p lib/armeabi
cp $^ lib/armeabi/
bin/0ad.unaligned.apk: bin/classes.dex lib/armeabi/libmain.so lib/armeabi/libSDL2.so
${AAPT} package -f -F $@ -M AndroidManifest.xml -S bin/res -S res -I ${ANDROIDJAR}
zip $@ -j bin/classes.dex
zip $@ -r lib
jarsigner -keystore ${HOME}/.android/debug.keystore -storepass android $@ androiddebugkey
bin/0ad.apk: bin/0ad.unaligned.apk
${ZIPALIGN} 4 $< $@
push-apk: bin/0ad.apk
${ADB} push $< /sdcard/
install-apk: bin/0ad.apk
${ADB} install -r $<
push-so:
cp ../../../binaries/system/${LIBPYRO} libs/armeabi/
${TOOLCHAIN}/bin/arm-linux-androideabi-strip libs/armeabi/${LIBPYRO}
${ADB} push libs/armeabi/${LIBPYRO} /sdcard/
${ADB} shell su -c 'cp /sdcard/${LIBPYRO} /data/local && chmod 777 /data/local/${LIBPYRO}'
clean:
rm -rf bin gen lib libs obj