forked from 0ad/0ad
75 lines
2.0 KiB
Makefile
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
|