summaryrefslogtreecommitdiffstats
path: root/mobile/android/installer/Makefile.in
blob: d550a22a2ed147e4f1e9d62241601532957d8690 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# 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

ifdef MOZ_CHROME_MULTILOCALE
MOZ_PKG_MANIFEST_DEPS = locale-manifest.in

DEFINES += -DPKG_LOCALE_MANIFEST=$(CURDIR)/locale-manifest.in
endif

DEFINES += \
  -DMOZ_APP_NAME=$(MOZ_APP_NAME) \
  -DPREF_DIR=$(PREF_DIR) \
  -DJAREXT= \
  -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME) \
  -DMOZ_CHILD_PROCESS_NAME_PIE=$(MOZ_CHILD_PROCESS_NAME_PIE) \
  -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

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


ifdef MOZ_CHROME_MULTILOCALE
# When MOZ_CHROME_MULTILOCALE is defined, we write multilocale.json like:
# {"locales": ["en-US", "de", "ar", ...]}
locale-manifest.in: $(GLOBAL_DEPS) FORCE
	printf '\n[multilocale]\n' > $@
	printf '@BINPATH@/res/multilocale.json\n' >> $@
	for LOCALE in en-US $(MOZ_CHROME_MULTILOCALE) ;\
	do \
	  printf '$(BINPATH)/chrome/'"$$LOCALE"'$(JAREXT)\n' >> $@; \
	  printf '$(BINPATH)/chrome/'"$$LOCALE"'.manifest\n' >> $@; \
	done
	COMMA=,
	echo '{"locales": [$(foreach l,$(MOZ_CHROME_MULTILOCALE),"$(l)"$(COMMA)) "en-US"]}' \
	  > $(FINAL_TARGET)/res/multilocale.json

GARBAGE += locale-manifest.in
endif