DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Mercurial (014c61389f0b)

VCS Links

Line Code
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
# 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.
ZIP_IN ?= $(ABS_DIST)/$(PACKAGE)

ifdef MOZ_DEV_EDITION
MOZ_LANGPACK_EID=langpack-$(AB_CD)@devedition.mozilla.org
else
MOZ_LANGPACK_EID=langpack-$(AB_CD)@firefox.mozilla.org
endif
# For Nightly, we know where to get the builds from to do local repacks
ifdef NIGHTLY_BUILD
export EN_US_BINARY_URL ?= https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central
endif

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 ($(CPU_ARCH), aarch64)
MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.ARM64.sfx
else
MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.Win32.sfx
endif

# Required for l10n.mk - defines a list of app sub dirs that should
# be included in langpack xpis.
DIST_SUBDIRS = $(DIST_SUBDIR)

include $(topsrcdir)/config/rules.mk

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

libs-%: AB_CD=$*
libs-%:
	$(if $(filter en-US,$(AB_CD)),, @$(MAKE) merge-$*)
	$(NSINSTALL) -D $(DIST)/install
	@$(MAKE) -C ../../toolkit/locales libs-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
	@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
	@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
ifneq (,$(wildcard ../extensions/formautofill/locales))
	@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
endif
	@$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
	@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
	@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
	@$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
	@$(MAKE) multilocale.txt-$* AB_CD=$* XPI_NAME=locale-$*
	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$*

chrome-%: AB_CD=$*
chrome-%: IS_LANGUAGE_REPACK=1
chrome-%:
	$(if $(filter en-US,$(AB_CD)),, @$(MAKE) merge-$*)
	@$(MAKE) -C ../../toolkit/locales chrome-$*
	@$(MAKE) -C ../../services/sync/locales chrome AB_CD=$*
	@$(MAKE) -C ../../extensions/spellcheck/locales chrome AB_CD=$*
ifneq (,$(wildcard ../extensions/formautofill/locales))
	@$(MAKE) -C ../extensions/formautofill/locales chrome AB_CD=$*
endif
	@$(MAKE) -C ../../devtools/client/locales chrome AB_CD=$*
	@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
	@$(MAKE) chrome AB_CD=$*
	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
	@$(MAKE) -C ../extensions/report-site-issue/locales chrome AB_CD=$*

package-win32-installer: $(SUBMAKEFILES)
	$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer

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-%: IS_LANGUAGE_REPACK=1
installers-%:
	@$(MAKE) clobber-$*
	@$(MAKE) libs-$*
	@$(MAKE) package-langpack-$*
	@$(MAKE) repackage-zip-$*
ifeq (WINNT,$(OS_ARCH))
	@$(MAKE) package-win32-installer AB_CD=$*
endif
	@echo 'repackaging done'

ident:
	@printf 'fx_revision '
	@$(PYTHON) $(topsrcdir)/config/printconfigsetting.py \
	    '$(STAGEDIST)'/application.ini App SourceStamp
	@printf 'buildid '
	@$(PYTHON) $(topsrcdir)/config/printconfigsetting.py \
	    '$(STAGEDIST)'/application.ini App BuildID

# test target, depends on make package
# try to repack x-test, with just toolkit/defines.inc being there
l10n-check:: INNER_UNMAKE_PACKAGE=true
l10n-check::
	$(RM) -rf x-test
	$(NSINSTALL) -D x-test/toolkit
	echo '#define MOZ_LANG_TITLE Just testing' > x-test/toolkit/defines.inc
	@# ZIP_IN='$(ZIP_IN)' will pass down the *current* value of ZIP_IN, and
	@# we do the same for WIN32_INSTALLER_IN, which are based on MOZ_SIMPLE_PACKAGE_NAME
	@# not being reset, overwriting the value they would get with MOZ_SIMPLE_PACKAGE_NAME
	@# reset.
	$(MAKE) installers-x-test L10NBASEDIR='$(PWD)' \
	    ZIP_IN='$(ZIP_IN)' MOZ_SIMPLE_PACKAGE_NAME=
	$(PYTHON) $(topsrcdir)/toolkit/mozapps/installer/unpack.py $(DIST)/l10n-stage/$(MOZ_PKG_DIR)$(_RESPATH)
	cd $(DIST)/l10n-stage && test $$(cat $(MOZ_PKG_DIR)$(_RESPATH)/update.locale) = x-test