108 lines
3.5 KiB
Makefile
108 lines
3.5 KiB
Makefile
# Android specific build targets
|
|
|
|
# These must be incremented for each market upload
|
|
ANDROID_VERSIONCODE = 16
|
|
|
|
ANDROID_TARGET_VERSION = 23
|
|
|
|
NDK_BUILD = $(ANDROID_NDK)/ndk-build APP_ABI=$(ABI)
|
|
SDK_ANDROID = $(ANDROID_SDK)/tools/android
|
|
|
|
PATH_DIST = $(srcdir)/dists/android
|
|
PATH_RESOURCES = $(PATH_DIST)/res
|
|
|
|
PORT_DISTFILES = $(PATH_DIST)/README.Android
|
|
DIST_JAVA_SRC_DIR = $(srcdir)/backends/platform/android/org
|
|
|
|
RESOURCES = \
|
|
$(PATH_BUILD_RES)/values/strings.xml \
|
|
$(PATH_BUILD_RES)/values-television/margins.xml \
|
|
$(PATH_BUILD_RES)/layout/main.xml \
|
|
$(PATH_BUILD_RES)/drawable/scummvm.png \
|
|
$(PATH_BUILD_RES)/drawable/scummvm_big.png \
|
|
$(PATH_BUILD_RES)/drawable-xhdpi/leanback_icon.png \
|
|
$(PATH_BUILD_RES)/drawable-xhdpi/ouya_icon.png
|
|
|
|
DIST_ANDROID_MK = $(PATH_DIST)/jni/Android.mk
|
|
DIST_BUILD_XML = $(PATH_DIST)/custom_rules.xml
|
|
|
|
PATH_BUILD = ./build.tmp
|
|
PATH_BUILD_ASSETS = $(PATH_BUILD)/assets
|
|
PATH_BUILD_RES = $(PATH_BUILD)/res
|
|
PATH_BUILD_LIBSCUMMVM = $(PATH_BUILD)/lib/$(ABI)/libscummvm.so
|
|
|
|
FILE_MANIFEST_SRC = $(srcdir)/dists/android/AndroidManifest.xml
|
|
FILE_MANIFEST = $(PATH_BUILD)/AndroidManifest.xml
|
|
|
|
APK_MAIN = ScummVM-debug.apk
|
|
APK_MAIN_RELEASE = ScummVM-release-unsigned.apk
|
|
|
|
$(FILE_MANIFEST): $(FILE_MANIFEST_SRC) | $(PATH_BUILD)
|
|
@$(MKDIR) -p $(@D)
|
|
sed "s/@ANDROID_VERSIONCODE@/$(ANDROID_VERSIONCODE)/" < $< > $@
|
|
|
|
$(PATH_BUILD)/res/%: $(PATH_DIST)/res/% | $(PATH_BUILD)
|
|
@$(MKDIR) -p $(@D)
|
|
$(CP) $< $@
|
|
|
|
$(PATH_BUILD)/libs/%: $(PATH_DIST)/libs/% | $(PATH_BUILD)
|
|
@$(MKDIR) -p $(@D)
|
|
$(CP) $< $@
|
|
|
|
$(PATH_BUILD_ASSETS): $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_SHADERS) $(DIST_BUILD_XML) | $(PATH_BUILD)
|
|
$(INSTALL) -d $(PATH_BUILD_ASSETS)
|
|
$(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) $(PATH_BUILD_ASSETS)/
|
|
$(INSTALL) -d $(PATH_BUILD)/jni
|
|
$(INSTALL) -c -m 644 $(DIST_ANDROID_MK) $(PATH_BUILD)/jni
|
|
$(INSTALL) -c -m 644 $(DIST_BUILD_XML) $(PATH_BUILD)
|
|
|
|
$(PATH_BUILD): $(DIST_ANDROID_MK)
|
|
$(MKDIR) -p $(PATH_BUILD) $(PATH_BUILD)/res
|
|
$(MKDIR) -p $(PATH_BUILD)/libs
|
|
|
|
$(PATH_BUILD_LIBSCUMMVM): libscummvm.so | $(PATH_BUILD)
|
|
$(INSTALL) -c -m 644 libscummvm.so $(PATH_BUILD)
|
|
$(STRIP) $(PATH_BUILD)/libscummvm.so
|
|
cd $(PATH_BUILD); $(NDK_BUILD)
|
|
|
|
$(PATH_BUILD_RES): $(RESOURCES) | $(PATH_BUILD)
|
|
|
|
setupapk: $(FILE_MANIFEST) $(PATH_BUILD_RES) $(PATH_BUILD_ASSETS) $(PATH_BUILD_LIBSCUMMVM) | $(PATH_BUILD)
|
|
$(SDK_ANDROID) update project -p $(PATH_BUILD) -t android-$(ANDROID_TARGET_VERSION) -n ScummVM
|
|
|
|
$(APK_MAIN): setupapk | $(PATH_BUILD)
|
|
(cd $(PATH_BUILD); ant debug -Dsource.dir="$(realpath $(DIST_JAVA_SRC_DIR))")
|
|
$(CP) $(PATH_BUILD)/bin/ScummVM-debug.apk $@
|
|
|
|
$(APK_MAIN_RELEASE): setupapk | $(PATH_BUILD)
|
|
(cd $(PATH_BUILD); ant release -Dsource.dir="$(realpath $(DIST_JAVA_SRC_DIR))")
|
|
$(CP) $(PATH_BUILD)/bin/ScummVM-release-unsigned.apk $@
|
|
|
|
all: $(APK_MAIN)
|
|
|
|
clean: androidclean
|
|
|
|
androidclean:
|
|
@$(RM) -rf $(PATH_BUILD) *.apk release
|
|
|
|
androidrelease: $(APK_MAIN_RELEASE)
|
|
|
|
androidtestmain: $(APK_MAIN)
|
|
$(ADB) install -r $(APK_MAIN)
|
|
$(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.scummvm.scummvm/.ScummVMActivity
|
|
|
|
androidtest: $(APK_MAIN)
|
|
@set -e; for apk in $^; do \
|
|
$(ADB) install -r $$apk; \
|
|
done
|
|
$(ADB) shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n org.scummvm.scummvm/.ScummVMActivity
|
|
|
|
# used by buildbot!
|
|
androiddistdebug: all
|
|
$(MKDIR) debug
|
|
$(CP) $(APK_MAIN) debug/
|
|
for i in $(DIST_FILES_DOCS) $(PORT_DISTFILES); do \
|
|
sed 's/$$/\r/' < $$i > debug/`basename $$i`.txt; \
|
|
done
|
|
|
|
.PHONY: androidrelease androidtest $(PATH_BUILD_SRC)
|