summaryrefslogtreecommitdiffstats
path: root/b2g/locales/Makefile.in
blob: c626e557cc09bf2c630ce5acbfbd6ed92baf10b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# vim:set ts=8 sw=8 sts=8 noet:
# 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 \
	$(NULL)

# This makefile uses variable overrides from the libs-% target to
# build non-default locales to non-default dist/ locations. Be aware!

PWD := $(CURDIR)

# These are defaulted to be compatible with the files the wget-en-US target
# pulls. You may override them if you provide your own files. You _must_
# override them when MOZ_PKG_PRETTYNAMES is defined - the defaults will not
# work in that case.
ZIP_IN ?= $(ABS_DIST)/$(PACKAGE)
WIN32_INSTALLER_IN ?= $(ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
RETRIEVE_WINDOWS_INSTALLER = 1

MOZ_LANGPACK_EID=langpack-$(AB_CD)@b2g.mozilla.org

L10N_PREF_JS_EXPORTS = $(call MERGE_FILE,b2g-l10n.js)
L10N_PREF_JS_EXPORTS_PATH = $(FINAL_TARGET)/$(PREF_DIR)
L10N_PREF_JS_EXPORTS_FLAGS = $(PREF_PPFLAGS) --silence-missing-directive-warnings
PP_TARGETS += L10N_PREF_JS_EXPORTS

ifneq (,$(filter cocoa,$(MOZ_WIDGET_TOOLKIT)))
MOZ_PKG_MAC_DSSTORE=$(ABS_DIST)/branding/dsstore
MOZ_PKG_MAC_BACKGROUND=$(ABS_DIST)/branding/background.png
MOZ_PKG_MAC_ICON=$(ABS_DIST)/branding/disk.icns
MOZ_PKG_MAC_EXTRA=--symlink '/Applications:/ '
endif

ifeq (WINNT,$(OS_ARCH))
UNINSTALLER_PACKAGE_HOOK = $(RM) -r $(STAGEDIST)/uninstall; \
    $(NSINSTALL) -D $(STAGEDIST)/uninstall; \
    cp ../installer/windows/l10ngen/helper.exe $(STAGEDIST)/uninstall; \
    $(RM) $(ABS_DIST)/l10n-stage/setup.exe; \
    cp ../installer/windows/l10ngen/setup.exe $(ABS_DIST)/l10n-stage; \
    $(NULL)
endif

include $(topsrcdir)/config/rules.mk

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

$(STAGEDIST): $(DIST)/branding

$(DIST)/branding:
	$(NSINSTALL) -D $@

libs::
	@if test -f '$(LOCALE_SRCDIR)/existing-profile-defaults.js'; then \
	  $(PYTHON) -m mozbuild.action.preprocessor $(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) \
	    $(LOCALE_SRCDIR)/existing-profile-defaults.js -o $(FINAL_TARGET)/defaults/existing-profile-defaults.js; \
	fi

NO_JA_JP_MAC_AB_CD := $(if $(filter ja-JP-mac, $(AB_CD)),ja,$(AB_CD))

libs-%:
	$(NSINSTALL) -D $(DIST)/install
	@$(MAKE) -C ../../toolkit/locales libs-$*
	@$(MAKE) -C ../../intl/locales AB_CD=$* XPI_NAME=locale-$*
	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
	@$(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-%:
	@$(MAKE) chrome AB_CD=$*
	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*

repackage-win32-installer: WIN32_INSTALLER_OUT=$(ABS_DIST)/$(PKG_INST_PATH)$(PKG_INST_BASENAME).exe
repackage-win32-installer: $(call ESCAPE_SPACE,$(WIN32_INSTALLER_IN)) $(SUBMAKEFILES) libs-$(AB_CD)
	@echo 'Repackaging $(WIN32_INSTALLER_IN) into $(WIN32_INSTALLER_OUT).'
	$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY) export
	$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen l10ngen/setup.exe l10ngen/7zSD.sfx
	$(MAKE) repackage-zip \
	  AB_CD=$(AB_CD) \
	  MOZ_PKG_FORMAT=SFX7Z \
	  ZIP_IN='$(WIN32_INSTALLER_IN)' \
	  ZIP_OUT='$(WIN32_INSTALLER_OUT)' \
	  SFX_HEADER='$(PWD)/../installer/windows/l10ngen/7zSD.sfx \
	              $(topsrcdir)/b2g/installer/windows/app.tag'

ifeq (WINNT,$(OS_ARCH))
repackage-win32-installer-%:
	@$(MAKE) repackage-win32-installer AB_CD=$* WIN32_INSTALLER_IN='$(WIN32_INSTALLER_IN)'
else
repackage-win32-installer-%: ;
endif


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


langpack: langpack-$(AB_CD)

# This is a generic target that will make a langpack, repack ZIP (+tarball)
# builds, and repack an installer if applicable. It is called from the
# tinderbox scripts. Alter it with caution.

installers-%: clobber-% langpack-% repackage-win32-installer-% repackage-zip-%
	@echo 'repackaging done'

# When we unpack b2g on MacOS X the platform.ini and application.ini are in slightly
# different locations that on all other platforms
ifeq (Darwin, $(OS_ARCH))
GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/platform.ini'
B2G_APPLICATION_INI_PATH='$(STAGEDIST)/application.ini'
else
GECKO_PLATFORM_INI_PATH='$(STAGEDIST)/platform.ini'
B2G_APPLICATION_INI_PATH='$(STAGEDIST)/application.ini'
endif


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

merge-%:
ifdef LOCALE_MERGEDIR
	$(RM) -rf $(LOCALE_MERGEDIR)
	$(topsrcdir)/mach compare-locales --merge-dir $(LOCALE_MERGEDIR) $*
endif
	@echo

# test target, depends on make package
# try to repack x-test, with just toolkit/defines.inc being there
l10n-check::
	$(RM) -rf x-test
	$(NSINSTALL) -D x-test/toolkit
	echo '#define MOZ_LANG_TITLE Just testing' > x-test/toolkit/defines.inc
	$(MAKE) installers-x-test L10NBASEDIR='$(PWD)' LOCALE_MERGEDIR='$(PWD)/mergedir'