michael@0: # This Source Code Form is subject to the terms of the Mozilla Public michael@0: # License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: # file, You can obtain one at http://mozilla.org/MPL/2.0/. michael@0: michael@0: mobile-tests := mobile/android/base/tests michael@0: TESTPATH := $(topsrcdir)/$(mobile-tests) michael@0: dir-tests := $(DEPTH)/$(mobile-tests) michael@0: michael@0: ANDROID_APK_NAME := robocop-debug michael@0: michael@0: ANDROID_EXTRA_JARS += \ michael@0: $(srcdir)/robotium-solo-4.3.1.jar \ michael@0: $(NULL) michael@0: michael@0: ANDROID_ASSETS_DIR := $(TESTPATH)/assets michael@0: michael@0: _JAVA_HARNESS := \ michael@0: Actions.java \ michael@0: Assert.java \ michael@0: Driver.java \ michael@0: Element.java \ michael@0: FennecInstrumentationTestRunner.java \ michael@0: FennecNativeActions.java \ michael@0: FennecMochitestAssert.java \ michael@0: FennecTalosAssert.java \ michael@0: FennecNativeDriver.java \ michael@0: FennecNativeElement.java \ michael@0: RoboCopException.java \ michael@0: RobocopShare1.java \ michael@0: RobocopShare2.java \ michael@0: RobocopUtils.java \ michael@0: PaintedSurface.java \ michael@0: $(NULL) michael@0: michael@0: java-harness := $(addprefix $(srcdir)/,$(_JAVA_HARNESS)) michael@0: java-tests := \ michael@0: $(wildcard $(TESTPATH)/*.java) \ michael@0: $(wildcard $(TESTPATH)/components/*.java) \ michael@0: $(wildcard $(TESTPATH)/helpers/*.java) michael@0: michael@0: # pre-process TestConstants.java.in michael@0: PP_TARGETS += testconstants michael@0: testconstants-dep := $(dir-tests)/TestConstants.java michael@0: testconstants := $(TESTPATH)/TestConstants.java.in michael@0: testconstants_PATH := $(dir-tests) michael@0: michael@0: PP_TARGETS += manifest michael@0: manifest := $(srcdir)/AndroidManifest.xml.in michael@0: manifest_TARGET := AndroidManifest.xml michael@0: ANDROID_MANIFEST_FILE := $(CURDIR)/AndroidManifest.xml michael@0: michael@0: # Install robocop configs and helper michael@0: INSTALL_TARGETS += robocop michael@0: robocop_TARGET := libs michael@0: robocop_DEST := $(CURDIR) michael@0: robocop_FILES := \ michael@0: $(TESTPATH)/robocop.ini \ michael@0: $(TESTPATH)/robocop_autophone.ini \ michael@0: $(NULL) michael@0: robocop-deps := $(notdir $(robocop_FILES)) michael@0: michael@0: ROBOCOP_FILES := \ michael@0: $(wildcard $(TESTPATH)/*.html) \ michael@0: $(wildcard $(TESTPATH)/*.jpg) \ michael@0: $(wildcard $(TESTPATH)/*.sjs) \ michael@0: $(wildcard $(TESTPATH)/test*.js) \ michael@0: $(wildcard $(TESTPATH)/robocop*.js) \ michael@0: $(wildcard $(TESTPATH)/*.xml) \ michael@0: $(wildcard $(TESTPATH)/*.swf) \ michael@0: $(NULL) michael@0: michael@0: ROBOCOP_DEST = $(DEPTH)/_tests/testing/mochitest/tests/robocop/ michael@0: INSTALL_TARGETS += ROBOCOP michael@0: michael@0: GARBAGE += \ michael@0: AndroidManifest.xml \ michael@0: $(robocop-deps) \ michael@0: $(testconstants-dep) \ michael@0: $(NULL) michael@0: michael@0: JAVAFILES += \ michael@0: $(java-harness) \ michael@0: $(java-tests) \ michael@0: $(robocop-deps) \ michael@0: $(testconstants-dep) \ michael@0: $(NULL) michael@0: michael@0: include $(topsrcdir)/config/rules.mk michael@0: michael@0: tools:: $(ANDROID_APK_NAME).apk michael@0: michael@0: GENERATED_DIRS += $(dir-tests) michael@0: michael@0: # The test APK needs to know the contents of the target APK while not michael@0: # being linked against them. This is a best effort to avoid getting michael@0: # out of sync with base's build config. michael@0: JARS_DIR := $(DEPTH)/mobile/android/base michael@0: JAVA_BOOTCLASSPATH := $(JAVA_BOOTCLASSPATH):$(subst $(NULL) ,:,$(wildcard $(JARS_DIR)/*.jar)) michael@0: # We also want to re-compile classes.dex when the associated base michael@0: # content changes. michael@0: classes.dex: $(wildcard $(JARS_DIR)/*.jar)