diff -r 000000000000 -r 6474c204b198 mobile/locales/Makefile.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobile/locales/Makefile.in Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,201 @@ +# -*- makefile -*- +# 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/. + +##################################################################################### +# 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. +##################################################################################### + +include $(topsrcdir)/config/config.mk + +USE_AUTOTARGETS_MK=1 +include $(topsrcdir)/config/makefiles/makeutils.mk + +# Separate items of contention +tgt-gendir = .deps/generated_$(AB_CD) + +GENERATED_DIRS += .deps + +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 + +$(call errorIfEmpty,MOZ_BRANDING_DIRECTORY) +SUBMAKEFILES += \ + $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \ + $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \ + $(NULL) + +DEFINES += \ + -DAB_CD=$(AB_CD) \ + $(NULL) + + +########################################################################### +# 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' + printf '$(AB_CD).jar:' > $@ + ln -fn $@ . + printf '$(foreach plugin,$(SEARCH_PLUGINS),$(subst __PLUGIN_SUBST__,$(plugin), \n locale/$(AB_CD)/browser/searchplugins/__PLUGIN_SUBST__.xml (__PLUGIN_SUBST__.xml)))' >> $@ + @echo >> $@ + +################### +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) \ + $(if $(IS_LANGUAGE_REPACK),FORCE) \ + $(GLOBAL_DEPS) \ + $(NULL) + +.PHONY: searchplugins +searchplugins: $(search-preqs) + $(call py_action,jar_maker,\ + $(QUIET) -j $(FINAL_TARGET)/chrome \ + -s $(topsrcdir)/$(relativesrcdir)/en-US/searchplugins \ + -s $(LOCALE_SRCDIR)/searchplugins \ + $(MAKE_JARS_FLAGS) $(search-jar)) + $(TOUCH) $@ + +include $(topsrcdir)/config/rules.mk + + +############# +libs-preqs =\ + $(call mkdir-deps,$(DIST)/install) \ + $(NULL) + +libs-%: $(libs-preqs) + $(display-deps) + @$(MAKE) -C $(DEPTH)/toolkit/locales libs-$* + @$(MAKE) -C $(DEPTH)/intl/locales AB_CD=$* XPI_NAME=locale-$* + @$(MAKE) -B $(bookmarks) AB_CD=$* + @$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$* + @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref + @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* + +# Tailored target to just add the chrome processing for multi-locale builds +chrome-%: + $(display-deps) + @$(MAKE) -B $(bookmarks) AB_CD=$* + @$(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)) + + +# 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) \ + $(src-bookmarks) \ + generic/profile/$(bookmarks).in \ + $(if $(IS_LANGUAGE_REPACK),FORCE) \ + $(GLOBAL_DEPS) \ + $(NULL) + +$(bookmarks-ts): $(bookmarks-preqs) + $(display_deps) + $(call py_action,preprocessor, \ + -I $< \ + -DAB_CD=$(NO_JA_JP_MAC_AB_CD) \ + $(src-bookmarks) \ + -o $@) + +.PHONY: bookmarks $(bookmarks) +bookmarks: $(bookmarks) +$(bookmarks): $(bookmarks-ts) + @echo '\nGenerating: $@' + ln -fn $< . + + +export:: searchplugins bookmarks