2012-05-15 09:20:30 -07:00
|
|
|
# -*- makefile -*-
|
2011-12-21 15:10:06 -08:00
|
|
|
# ***** 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.
|
|
|
|
#
|
|
|
|
# The Initial Developer of the Original Code is
|
|
|
|
# the Mozilla Foundation <http://www.mozilla.org/>.
|
|
|
|
# Portions created by the Initial Developer are Copyright (C) 2007
|
|
|
|
# the Initial Developer. All Rights Reserved.
|
|
|
|
#
|
|
|
|
# Contributor(s):
|
|
|
|
# Mark Finkle <mfinkle@mozilla.com>
|
|
|
|
# Axel Hecht <l10n@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 *****
|
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
#####################################################################################
|
|
|
|
# Dependency build overhead:
|
|
|
|
# o always create/update/hard link targets boomkarks.json & searchplugins
|
|
|
|
# o latest symlink will be correct for the current locale / local build.
|
|
|
|
# o logic is essentially FORCE for language packs w/o all the build overhead
|
|
|
|
# o phase 2: replace hard links with a user function able to derive path
|
|
|
|
# based on current locale.
|
|
|
|
#####################################################################################
|
|
|
|
|
2011-12-21 15:10:06 -08:00
|
|
|
DEPTH = ../..
|
|
|
|
topsrcdir = @top_srcdir@
|
|
|
|
srcdir = @srcdir@
|
|
|
|
VPATH = @srcdir@
|
|
|
|
relativesrcdir = mobile/locales
|
|
|
|
|
|
|
|
include $(DEPTH)/config/autoconf.mk
|
|
|
|
include $(topsrcdir)/config/config.mk
|
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
USE_AUTOTARGETS_MK=1
|
|
|
|
include $(topsrcdir)/config/makefiles/makeutils.mk
|
|
|
|
|
|
|
|
# Separate items of contention
|
|
|
|
tgt-gendir = .deps/generated_$(AB_CD)
|
|
|
|
|
|
|
|
jar-maker = \
|
|
|
|
$(firstword \
|
|
|
|
$(wildcard $(MOZILLA_DIR)/config/JarMaker.py) \
|
|
|
|
$(topsrcdir)/config/JarMaker.py \
|
|
|
|
)
|
|
|
|
|
|
|
|
GENERATED_DIRS += .deps
|
|
|
|
|
2011-12-21 15:10:06 -08:00
|
|
|
ifdef LOCALE_MERGEDIR
|
|
|
|
vpath book%.inc $(LOCALE_MERGEDIR)/mobile/profile
|
|
|
|
endif
|
|
|
|
vpath book%.inc $(LOCALE_SRCDIR)/profile
|
|
|
|
ifdef LOCALE_MERGEDIR
|
|
|
|
vpath book%.inc @srcdir@/en-US/profile
|
|
|
|
endif
|
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
$(call errorIfEmpty,MOZ_BRANDING_DIRECTORY)
|
2011-12-21 15:10:06 -08:00
|
|
|
SUBMAKEFILES += \
|
|
|
|
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
|
|
|
|
$(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
DEFINES += \
|
|
|
|
-DAB_CD=$(AB_CD) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
###########################################################################
|
|
|
|
# Default target, preserve existing functionality for:
|
|
|
|
# gmake -C $obj/mobile/locales
|
|
|
|
###########################################################################
|
|
|
|
search-jar-default: search-jar
|
|
|
|
|
|
|
|
|
|
|
|
###########################################################################
|
|
|
|
bookmarks = bookmarks.json
|
|
|
|
bookmarks-ts = $(tgt-gendir)/$(bookmarks)
|
|
|
|
src-bookmarks = $(srcdir)/generic/profile/$(bookmarks).in
|
|
|
|
|
|
|
|
GARBAGE += $(bookmarks) $(bookmarks-ts)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# Note: Always symlink bookmarks.json to pickup the current build for a
|
|
|
|
# locale. Phase 2 edits should remove the common/symlink file and
|
|
|
|
# provide a user function able to derive the path.
|
|
|
|
###########################################################################
|
|
|
|
|
|
|
|
## Searchlist plugin config
|
|
|
|
plugin-file-array = \
|
|
|
|
$(wildcard $(LOCALE_SRCDIR)/searchplugins/list.txt) \
|
|
|
|
$(srcdir)/en-US/searchplugins/list.txt \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
###########################################################################
|
|
|
|
plugin_file = $(firstword $(plugin-file-array))
|
|
|
|
plugin-file-ts = $(tgt-gendir)/$(subst $(topsrcdir)/,$(NULL),$(plugin_file)).ts
|
|
|
|
|
|
|
|
GARBAGE += $(plugin-file-ts)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# plugin-file-ts track searchlist file used ($path/list.txt)
|
|
|
|
# and time when the file was last modified.
|
|
|
|
###########################################################################
|
|
|
|
plugin-file-ts-preqs =\
|
|
|
|
$(call mkdir_deps,$(dir $(plugin-file-ts))) \
|
|
|
|
$(plugin_file) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
###########################################################################
|
|
|
|
# Detect locale changes. Force stale deps when searchlist file
|
|
|
|
# or content has changed.
|
|
|
|
$(plugin-file-ts): $(plugin-file-ts-preqs)
|
|
|
|
@touch $@
|
|
|
|
|
|
|
|
|
|
|
|
###########################################################################
|
|
|
|
search-jar-common = tmp-search.jar.mn
|
|
|
|
search-jar = $(tgt-gendir)/$(search-jar-common)
|
|
|
|
search-jar-ts = $(search-jar).ts
|
|
|
|
|
|
|
|
GARBAGE += $(search-jar) $(search-jar-ts) $(search-jar-common)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
|
|
# search-jar contains a list of providers for the search plugin
|
|
|
|
###########################################################################
|
|
|
|
SEARCH_PLUGINS = $(shell cat $(plugin_file))
|
|
|
|
$(call errorIfEmpty,SEARCH_PLUGINS)
|
|
|
|
|
|
|
|
search-jar-preqs =\
|
|
|
|
$(plugin-file-ts) \
|
|
|
|
$(if $(IS_LANGUAGE_REPACK),FORCE) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
.PHONY: search-jar
|
|
|
|
search-jar: $(search-jar)
|
|
|
|
$(search-jar): $(search-jar-preqs)
|
|
|
|
@echo "\nGenerating: search-jar"
|
2011-12-21 15:10:06 -08:00
|
|
|
printf "$(AB_CD).jar:" > $@
|
2012-05-15 09:20:30 -07:00
|
|
|
ln -fn $@ .
|
2011-12-21 15:10:06 -08:00
|
|
|
printf "$(foreach plugin,$(SEARCH_PLUGINS),$(subst __PLUGIN_SUBST__,$(plugin), \n locale/$(AB_CD)/browser/searchplugins/__PLUGIN_SUBST__.xml (__PLUGIN_SUBST__.xml)))" >> $@
|
|
|
|
@echo >> $@
|
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
.PHONY: searchplugins
|
|
|
|
searchplugins: $(search-jar-ts)
|
|
|
|
@echo "\nGenerating: $@"
|
|
|
|
|
|
|
|
###################
|
|
|
|
search-dir-deps = \
|
|
|
|
$(plugin-file) \
|
|
|
|
$(dir-chrome) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
search-preqs =\
|
|
|
|
$(call mkdir_deps,$(dir $(search-jar-ts))) \
|
|
|
|
$(call mkdir_deps,$(FINAL_TARGET)/chrome) \
|
|
|
|
$(search-jar) \
|
|
|
|
$(search-dir-deps) \
|
|
|
|
$(jar-maker) \
|
|
|
|
$(if $(IS_LANGUAGE_REPACK),FORCE) \
|
|
|
|
$(GLOBAL_DEPS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
$(search-jar-ts): $(search-preqs)
|
|
|
|
$(PYTHON) $(jar-maker) \
|
2011-12-21 15:10:06 -08:00
|
|
|
$(QUIET) -j $(FINAL_TARGET)/chrome \
|
|
|
|
-s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \
|
|
|
|
-s $(LOCALE_SRCDIR)/searchplugins \
|
2012-05-15 09:20:30 -07:00
|
|
|
$(MAKE_JARS_FLAGS) $(search-jar)
|
|
|
|
$(TOUCH) $@
|
2011-12-21 15:10:06 -08:00
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
include $(topsrcdir)/config/rules.mk
|
2011-12-21 15:10:06 -08:00
|
|
|
|
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
#############
|
|
|
|
libs-preqs =\
|
|
|
|
$(call mkdir-deps,$(DIST)/install) \
|
|
|
|
$(NULL)
|
2011-12-21 15:10:06 -08:00
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
libs-%: $(libs-preqs)
|
|
|
|
$(display-deps)
|
2011-12-21 15:10:06 -08:00
|
|
|
@$(MAKE) -C $(DEPTH)/toolkit/locales libs-$* BOTH_MANIFESTS=1
|
|
|
|
@$(MAKE) -C $(DEPTH)/services/sync/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
|
|
|
|
@$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
|
2012-05-15 09:20:30 -07:00
|
|
|
@$(MAKE) -B $(bookmarks) AB_CD=$*
|
2011-12-21 15:10:06 -08:00
|
|
|
@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
|
|
|
|
@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref BOTH_MANIFESTS=1
|
|
|
|
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* BOTH_MANIFESTS=1
|
|
|
|
|
|
|
|
# Tailored target to just add the chrome processing for multi-locale builds
|
|
|
|
chrome-%:
|
2012-05-15 09:20:30 -07:00
|
|
|
$(display-deps)
|
2011-12-21 15:10:06 -08:00
|
|
|
@$(MAKE) -C $(DEPTH)/toolkit/locales chrome-$*
|
|
|
|
@$(MAKE) -C $(DEPTH)/services/sync/locales chrome AB_CD=$*
|
2012-05-15 09:20:30 -07:00
|
|
|
@$(MAKE) -B $(bookmarks) AB_CD=$*
|
2011-12-21 15:10:06 -08:00
|
|
|
@$(MAKE) -B searchplugins AB_CD=$*
|
|
|
|
@$(MAKE) chrome AB_CD=$*
|
|
|
|
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
|
|
|
|
|
|
|
|
NO_JA_JP_MAC_AB_CD := $(if $(filter ja-JP-mac, $(AB_CD)),ja,$(AB_CD))
|
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
|
|
|
|
# emulate vpath to gather deps with a path
|
|
|
|
has-mergedir = $(if $(strip $(LOCALE_MERGEDIR)),1)
|
|
|
|
bookmarks-inc-array = \
|
|
|
|
$(wildcard \
|
|
|
|
$(if $(has_mergedir),$(LOCALE_MERGEDIR)/mobile/profile/bookmarks.inc) \
|
|
|
|
$(LOCALE_SRCDIR)/profile/bookmarks.inc \
|
|
|
|
$(if $(has-mergedir),$(srcdir)/en-US/profile/bookmarks.inc) \
|
|
|
|
)
|
|
|
|
bookmarks-inc = $(firstword $(bookmarks-inc-array))
|
|
|
|
|
|
|
|
bookmarks-preqs =\
|
|
|
|
$(bookmarks-inc) \
|
|
|
|
$(call mkdir_deps,$(dir $(bookmarks-ts))) \
|
|
|
|
$(src-bookmarks) \
|
|
|
|
generic/profile/$(bookmarks).in \
|
|
|
|
$(topsrcdir)/config/Preprocessor.py \
|
|
|
|
$(if $(IS_LANGUAGE_REPACK),FORCE) \
|
|
|
|
$(GLOBAL_DEPS) \
|
|
|
|
$(NULL)
|
|
|
|
|
|
|
|
$(bookmarks-ts): $(bookmarks-preqs)
|
|
|
|
$(display_deps)
|
2011-12-21 15:10:06 -08:00
|
|
|
$(PYTHON) $(topsrcdir)/config/Preprocessor.py \
|
2012-05-15 09:20:30 -07:00
|
|
|
-I $< \
|
|
|
|
-DAB_CD=$(NO_JA_JP_MAC_AB_CD) \
|
|
|
|
$(src-bookmarks) \
|
|
|
|
> $@
|
|
|
|
|
|
|
|
.PHONY: bookmarks $(bookmarks)
|
|
|
|
bookmarks: $(bookmarks)
|
|
|
|
$(bookmarks): $(bookmarks-ts)
|
|
|
|
@echo "\nGenerating: $@"
|
|
|
|
ln -fn $< .
|
|
|
|
|
2011-12-21 15:10:06 -08:00
|
|
|
|
2012-05-15 09:20:30 -07:00
|
|
|
export:: searchplugins bookmarks
|
2011-12-21 15:10:06 -08:00
|
|
|
|