mobile/android/installer/Makefile.in
author Matthew Finkel <sysrqb@torproject.org>
Fri, 02 Mar 2018 05:38:32 +0000
changeset 410280 d345b546edcee426579b8b731f749f6878a05892
parent 406222 be154f4de4e9f53e8cdd5363d5a923794cb72174
child 410373 a456475502b80a1264642d9eaee9394a8fad8315
permissions -rw-r--r--
Bug 1440789 - Create built_in_addons.json at package-time on mobile r=nalexander

# 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/.

STANDALONE_MAKEFILE := 1

# overwrite mobile-l10n.js with a matchOS=true one for multi-locale builds
ifeq ($(AB_CD),multi)
L10N_PREF_JS_EXPORTS = $(srcdir)/mobile-l10n.js
L10N_PREF_JS_EXPORTS_PATH = $(FINAL_TARGET)/$(PREF_DIR)
L10N_PREF_JS_EXPORTS_FLAGS = $(PREF_PPFLAGS) --silence-missing-directive-warnings
PP_TARGETS += L10N_PREF_JS_EXPORTS
endif

include $(topsrcdir)/config/rules.mk

MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in

MOZ_PKG_MANIFEST = $(srcdir)/package-manifest.in
MOZ_PKG_DUPEFLAGS = -f $(srcdir)/allowed-dupes.mn

DEFINES += -DPKG_LOCALE_MANIFEST=$(topobjdir)/mobile/android/installer/locale-manifest.in
MOZ_CHROME_LOCALE_ENTRIES=@BINPATH@/chrome/

DEFINES += \
  -DMOZ_APP_NAME=$(MOZ_APP_NAME) \
  -DPREF_DIR=$(PREF_DIR) \
  -DJAREXT= \
  -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) \
  -DANDROID_CPU_ARCH=$(ANDROID_CPU_ARCH) \
  $(NULL)

ifdef MOZ_DEBUG
DEFINES += -DMOZ_DEBUG=1
endif

ifdef MOZ_ANDROID_EXCLUDE_FONTS
DEFINES += -DMOZ_ANDROID_EXCLUDE_FONTS=1
endif

ifdef MOZ_ANDROID_GCM
DEFINES += -DMOZ_ANDROID_GCM=1
endif

ifdef MOZ_ARTIFACT_BUILDS
DEFINES += -DMOZ_ARTIFACT_BUILDS=1
endif

ifdef MOZ_GECKOVIEW_JAR
# Generate a GeckoView-specific omni.ja under dist/geckoview/omni.ja,
# alongside the full omni.ja used by Fennec under dist/fennec/omni.ja.
DEFINES += -DMOZ_GECKOVIEW_JAR=1
MOZ_PKG_DIR = geckoview
endif

MOZ_PACKAGER_MINIFY=1

include $(topsrcdir)/toolkit/mozapps/installer/packager.mk

# Note that JS_BINARY can be defined in packager.mk, so this test must come
# after including that file. MOZ_PACKAGER_MINIFY_JS is used in packager.mk, but
# since recipe evaluation is deferred, we can set it here after the inclusion.
ifneq (,$(JS_BINARY))
ifndef MOZ_DEBUG
ifndef NIGHTLY_BUILD
MOZ_PACKAGER_MINIFY_JS=1
endif
endif
endif

ifeq (bundle, $(MOZ_FS_LAYOUT))
BINPATH = $(_BINPATH)
DEFINES += -DAPPNAME=$(_APPNAME)
else
# Every other platform just winds up in dist/bin
BINPATH = bin
endif
DEFINES += -DBINPATH=$(BINPATH)

ifdef ENABLE_MARIONETTE
DEFINES += -DENABLE_MARIONETTE=1
endif

.PHONY: features
tools features::
	# Create a sorted list of built-in features. If the features
	# directory does not exist, then the recipe line returns true
	# because this is not a fatal error.
	#
	# This should determine the target directory using FINAL_TARGET and DIST_SUBDIR, but it doesn't yet for simplicity.
	$(PYTHON) -c 'import os, json; listing = {"system": sorted(os.listdir("$(DIST)/bin/features"))}; print json.dumps(listing)' > \
		$(DIST)/bin/chrome/chrome/content/built_in_addons.json || true