gecko/build/mobile/robocop/Makefile.in
Nick Alexander 1fd81b5538 Bug 903528 - Follow-up: Fix build dependencies. a=bustage
The issue is that the preprocessed files need to be referenced as
$(CURDIR)/file to have Make handle the dependencies correctly.  To
allow this, this patch adds ANDROID_MANIFEST_FILE (defaulting to
AndroidManifest.xml) and uses it in the appropriate places.
2014-02-24 23:18:47 -08:00

97 lines
2.7 KiB
Makefile

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