gecko-dev/mobile/android/base/locales/Makefile.in
2012-05-09 16:51:41 -07:00

113 lines
4.1 KiB
Makefile

# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Android code.
#
# The Initial Developer of the Original Code is
# the Mozilla Foundation.
# Portions created by the Initial Developer are Copyright (C) 2010
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
# Michael Wu <mwu@mozilla.com>
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
DEPTH = ../../../..
topsrcdir = @top_srcdir@
srcdir = @srcdir@
VPATH = @srcdir@
relativesrcdir = mobile/android/base/locales
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))))
SYNCSTRINGSPATH = $(call core_abspath,$(call MERGE_FILE,sync_strings.dtd))
STRINGSPATH = $(call core_abspath,$(call MERGE_FILE,android_strings.dtd))
ifeq (,$(XPI_NAME))
BRANDPATH = $(call core_abspath,$(DEPTH)/dist/bin/chrome/$(AB_CD)/locale/branding/brand.dtd)
else
BRANDPATH = $(call core_abspath,$(DIST)/xpi-stage/$(XPI_NAME)/chrome/$(AB_CD)/locale/branding/brand.dtd)
endif
$(warnIfEmpty,AB_CD) # todo: $(errorIfEmpty )
DEFINES += -DAB_CD=$(AB_CD)
dir-res-values := ../res/values
strings-xml := $(dir-res-values)/strings.xml
strings-xml-in := $(srcdir)/../strings.xml.in
GARBAGE += $(strings-xml)
libs realchrome:: $(strings-xml)
chrome-%:: AB_CD=$*
chrome-%::
@$(MAKE) $(dir-res-values)-$(AB_rCD)/strings.xml AB_CD=$*
# setup the path to bookmarks.inc. copied and tweaked version of MERGE_FILE from config/config.mk
MOBILE_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/mobile/locales/en-US,$(call core_realpath,$(L10NBASEDIR))/$(AB_CD)/mobile)
ifdef LOCALE_MERGEDIR
BOOKMARKSPATH = $(firstword \
$(wildcard $(LOCALE_MERGEDIR)/mobile/profile/bookmarks.inc ) \
$(wildcard $(MOBILE_LOCALE_SRCDIR)/profile/bookmarks.inc ) \
$(topsrcdir)/mobile/locales/en-US/profile/bookmarks.inc )
else
BOOKMARKSPATH = $(call core_abspath,$(MOBILE_LOCALE_SRCDIR)/profile/bookmarks.inc)
endif
# 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) \
$(SYNCSTRINGSPATH) \
$(BOOKMARKSPATH) \
$(if $(IS_LANGUAGE_REPACK),FORCE) \
$(NULL)
$(dir-strings-xml)/strings.xml: $(strings-xml-preqs)
$(NSINSTALL) -D $(dir-strings-xml)
$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
$(DEFINES) \
-DBRANDPATH="$(BRANDPATH)" \
-DSTRINGSPATH="$(STRINGSPATH)" \
-DSYNCSTRINGSPATH="$(SYNCSTRINGSPATH)" \
-DBOOKMARKSPATH="$(BOOKMARKSPATH)" \
$< \
> $@
include $(topsrcdir)/config/rules.mk