summaryrefslogtreecommitdiffstats
path: root/mobile/android/build.mk
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/build.mk')
-rw-r--r--mobile/android/build.mk66
1 files changed, 66 insertions, 0 deletions
diff --git a/mobile/android/build.mk b/mobile/android/build.mk
new file mode 100644
index 000000000..a5d7d8eb2
--- /dev/null
+++ b/mobile/android/build.mk
@@ -0,0 +1,66 @@
+# 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/.
+
+include $(topsrcdir)/toolkit/mozapps/installer/package-name.mk
+
+installer:
+ @$(MAKE) -C mobile/android/installer installer
+
+package:
+ @$(MAKE) -C mobile/android/installer
+
+ifeq ($(OS_TARGET),Android)
+ifneq ($(MOZ_ANDROID_INSTALL_TARGET),)
+ANDROID_SERIAL = $(MOZ_ANDROID_INSTALL_TARGET)
+endif
+ifneq ($(ANDROID_SERIAL),)
+export ANDROID_SERIAL
+else
+# Determine if there's more than one device connected
+android_devices=$(words $(filter device,$(shell $(ADB) devices)))
+define no_device
+ @echo 'No devices are connected. Connect a device or start an emulator.'
+ @exit 1
+endef
+define multiple_devices
+ @echo 'Multiple devices are connected. Define ANDROID_SERIAL to specify the install target.'
+ $(ADB) devices
+ @exit 1
+endef
+
+install::
+ @# Use foreach to avoid running adb multiple times here
+ $(foreach val,$(android_devices),\
+ $(if $(filter 0,$(val)),$(no_device),\
+ $(if $(filter-out 1,$(val)),$(multiple_devices))))
+endif
+
+install::
+ $(ADB) install -r $(DIST)/$(PKG_PATH)$(PKG_BASENAME).apk
+else
+ @echo 'Mobile can't be installed directly.'
+ @exit 1
+endif
+
+deb: package
+ @$(MAKE) -C mobile/android/installer deb
+
+upload::
+ @$(MAKE) -C mobile/android/installer upload
+
+ifdef ENABLE_TESTS
+# Implemented in testing/testsuite-targets.mk
+
+mochitest-browser-chrome:
+ $(RUN_MOCHITEST) --flavor=browser
+ $(CHECK_TEST_ERROR)
+
+mochitest:: mochitest-browser-chrome
+
+.PHONY: mochitest-browser-chrome
+endif
+
+ifeq ($(OS_TARGET),Linux)
+deb: installer
+endif