# 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

SUBMAKEFILES += \
        $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/Makefile \
        $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales/Makefile \
        $(DEPTH)/mobile/locales/Makefile \
        $(NULL)

PREF_JS_EXPORTS = $(firstword $(wildcard $(LOCALE_SRCDIR)/mobile-l10n.js) \
                       @srcdir@/en-US/mobile-l10n.js )

include $(topsrcdir)/config/rules.mk

include $(topsrcdir)/toolkit/locales/l10n.mk

clobber-zip:
	$(RM) $(STAGEDIST)/chrome/$(AB_CD).jar \
	  $(STAGEDIST)/chrome/$(AB_CD).manifest \
	  $(STAGEDIST)/defaults/pref/mobile-l10n.js
	$(RM) -r $(STAGEDIST)/dictionaries \
	  $(STAGEDIST)/hyphenation \
	  $(STAGEDIST)/defaults/profile \
	  $(STAGEDIST)/chrome/$(AB_CD)

# need to kill stage for repacks for now due to the library moves
# in PACKAGE and UNPACKAGE
# also clean up potential left-overs of multi-locale builds, notably
# values-*/strings.xml. Those would be in the way of a single locale build,
# which this target is for
clobber-stage:
	$(RM) -rf $(STAGEDIST)
	$(RM) $(DEPTH)/mobile/android/base/res/values-*/strings.xml

libs-%:
	@$(MAKE) -C $(DEPTH)/mobile/locales libs-$*
	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=defaults/pref
ifeq ($(OS_TARGET),Android)
	@$(MAKE) -C $(DEPTH)/mobile/android/base/locales AB_CD=$* XPI_NAME=locale-$*
endif

# Tailored target to just add the chrome processing for multi-locale builds
chrome-%:
	@$(MAKE) -C $(DEPTH)/mobile/locales chrome-$*
	@$(MAKE) chrome AB_CD=$*
ifeq ($(OS_TARGET),Android)
	@$(MAKE) -C $(DEPTH)/mobile/android/base/locales chrome-$*
endif

# This is a generic target that will make a langpack and repack tarball
# builds. It is called from the tinderbox scripts. Alter it with caution.

installers-%: clobber-stage repackage-zip-%
	@echo 'repackaging done'

# When we unpack fennec on MacOS X the platform.ini and application.ini are in slightly
# different locations that on all other platforms
ifeq (Darwin, $(OS_ARCH))
ifdef LIBXUL_SDK
GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/../Frameworks/XUL.framework/Versions/$(MOZILLA_VERSION)/platform.ini'
else
GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/platform.ini'
endif
FENNEC_APPLICATION_INI_PATH='$(STAGEDIST)/application.ini'
else
ifdef LIBXUL_SDK
GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/xulrunner/platform.ini'
else
GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/platform.ini'
endif
FENNEC_APPLICATION_INI_PATH='$(STAGEDIST)/application.ini'
endif

ident:
	@printf 'gecko_revision '
	@$(PYTHON) $(topsrcdir)/config/printconfigsetting.py $(GECKO_PLATFORM_INI_PATH) Build SourceStamp
	@printf 'fennec_revision '
	@$(PYTHON) $(topsrcdir)/config/printconfigsetting.py $(FENNEC_APPLICATION_INI_PATH) App SourceStamp
	@printf 'buildid '
	@$(PYTHON) $(topsrcdir)/config/printconfigsetting.py $(FENNEC_APPLICATION_INI_PATH) App BuildID

merge-%:
ifdef LOCALE_MERGEDIR
	$(RM) -rf $(LOCALE_MERGEDIR)
	MACOSX_DEPLOYMENT_TARGET= compare-locales -m $(LOCALE_MERGEDIR) $(srcdir)/l10n.ini $(L10NBASEDIR) $*
endif
	@echo
