summaryrefslogtreecommitdiffstats
path: root/mobile/android/base/locales/Makefile.in
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/base/locales/Makefile.in')
-rw-r--r--mobile/android/base/locales/Makefile.in114
1 files changed, 114 insertions, 0 deletions
diff --git a/mobile/android/base/locales/Makefile.in b/mobile/android/base/locales/Makefile.in
new file mode 100644
index 000000000..ce0636c12
--- /dev/null
+++ b/mobile/android/base/locales/Makefile.in
@@ -0,0 +1,114 @@
+# 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)/config/config.mk
+
+# special case some locale codes, he and id
+# http://code.google.com/p/android/issues/detail?id=3639
+AB_rCD = $(if $(filter he, $(AB_CD)),iw,$(if $(filter id, $(AB_CD)),in,$(subst -,-r,$(AB_CD))))
+
+# The search strings path is always passed to strings.xml.in; the
+# decision to include is made based on the feature flag at the
+# inclusion site.
+SEARCHSTRINGSPATH = $(abspath $(call MERGE_FILE,search_strings.dtd))
+
+SYNCSTRINGSPATH = $(abspath $(call MERGE_FILE,sync_strings.dtd))
+STRINGSPATH = $(abspath $(call MERGE_FILE,android_strings.dtd))
+ifeq (,$(XPI_NAME))
+BRANDPATH = $(topobjdir)/dist/bin/chrome/$(AB_CD)/locale/branding/brand.dtd
+else
+BRANDPATH = $(ABS_DIST)/xpi-stage/$(XPI_NAME)/chrome/$(AB_CD)/locale/branding/brand.dtd
+endif
+$(warnIfEmpty,AB_CD) # todo: $(errorIfEmpty )
+
+dir-res-values := ../res/values
+strings-xml := $(dir-res-values)/strings.xml
+strings-xml-in := $(srcdir)/../strings.xml.in
+
+GARBAGE += $(strings-xml)
+
+dir-res-raw := ../res/raw
+suggestedsites := $(dir-res-raw)/suggestedsites.json
+browsersearch := $(dir-res-raw)/browsersearch.json
+
+libs realchrome:: \
+ $(strings-xml) \
+ $(NULL)
+
+chrome-%:: AB_CD=$*
+chrome-%::
+ @$(MAKE) \
+ $(dir-res-values)-$(AB_rCD)/strings.xml \
+ $(dir-res-raw)-$(AB_rCD)/suggestedsites.json \
+ $(dir-res-raw)-$(AB_rCD)/browsersearch.json \
+ AB_CD=$*
+
+# Determine the ../res/values[-*]/ path
+strings-xml-bypath = $(filter %/strings.xml,$(MAKECMDGOALS))
+ifeq (,$(strip $(strings-xml-bypath)))
+ strings-xml-bypath = $(strings-xml)
+endif
+dir-strings-xml = $(patsubst %/,%,$(dir $(strings-xml-bypath)))
+
+strings-xml-preqs =\
+ $(strings-xml-in) \
+ $(BRANDPATH) \
+ $(STRINGSPATH) \
+ $(SEARCHSTRINGSPATH) \
+ $(SYNCSTRINGSPATH) \
+ $(if $(IS_LANGUAGE_REPACK),FORCE) \
+ $(NULL)
+
+$(dir-strings-xml)/strings.xml: $(strings-xml-preqs)
+ $(call py_action,preprocessor, \
+ $(DEFINES) \
+ $(ACDEFINES) \
+ -DANDROID_PACKAGE_NAME=$(ANDROID_PACKAGE_NAME) \
+ -DBRANDPATH='$(BRANDPATH)' \
+ -DMOZ_APP_DISPLAYNAME='@MOZ_APP_DISPLAYNAME@' \
+ -DSTRINGSPATH='$(STRINGSPATH)' \
+ -DSYNCSTRINGSPATH='$(SYNCSTRINGSPATH)' \
+ -DSEARCHSTRINGSPATH='$(SEARCHSTRINGSPATH)' \
+ $< \
+ -o $@)
+
+# Arg 1: Valid Make identifier, like suggestedsites.
+# Arg 2: File name, like suggestedsites.json.
+define generated_file_template
+
+# Determine the ../res/raw[-*] path. This can be ../res/raw when no
+# locale is explicitly specified.
+$(1)-bypath = $(filter %/$(2),$(MAKECMDGOALS))
+ifeq (,$$(strip $$($(1)-bypath)))
+ $(1)-bypath = $($(1))
+endif
+$(1)-dstdir-raw = $$(patsubst %/,%,$$(dir $$($(1)-bypath)))
+
+GARBAGE += $($(1))
+
+libs realchrome:: $($(1))
+endef
+
+# L10NBASEDIR is not defined for en-US.
+l10n-srcdir := $(if $(filter en-US,$(AB_CD)),,$(or $(realpath $(L10NBASEDIR)),$(abspath $(L10NBASEDIR)))/$(AB_CD)/mobile/chrome)
+
+$(eval $(call generated_file_template,suggestedsites,suggestedsites.json))
+
+$(suggestedsites-dstdir-raw)/suggestedsites.json: FORCE
+ $(call py_action,generate_suggestedsites, \
+ --verbose \
+ --android-package-name=$(ANDROID_PACKAGE_NAME) \
+ --resources=$(srcdir)/../resources \
+ $(if $(filter en-US,$(AB_CD)),,--srcdir=$(l10n-srcdir)) \
+ --srcdir=$(topsrcdir)/mobile/locales/en-US/chrome \
+ $@)
+
+$(eval $(call generated_file_template,browsersearch,browsersearch.json))
+
+$(browsersearch-dstdir-raw)/browsersearch.json: FORCE
+ $(call py_action,generate_browsersearch, \
+ --verbose \
+ $(if $(filter en-US,$(AB_CD)),,--srcdir=$(l10n-srcdir)) \
+ --srcdir=$(topsrcdir)/mobile/locales/en-US/chrome \
+ $@)