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 (ea2f5e00feb9)

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 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
# 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

MOZ_SFX_PACKAGE=$(topsrcdir)/other-licenses/7zstub/firefox/7zSD.sfx

SEARCHPLUGINS_FILENAMES := $(or $(shell $(call py_action,output_searchplugins_list,$(srcdir)/search/list.json $(AB_CD))), $(error Missing search plugins))
SEARCHPLUGINS_PATH := .deps/generated_$(AB_CD)
SEARCHPLUGINS_TARGET := libs searchplugins
SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_FILENAMES)),$(or $(wildcard $(srcdir)/searchplugins/$(plugin)),$(error Missing searchplugin: $(plugin))))
# Some locale-specific search plugins may have preprocessor directives, but the
# default en-US ones do not.
SEARCHPLUGINS_FLAGS := --silence-missing-directive-warnings
PP_TARGETS += SEARCHPLUGINS

list-json = $(SEARCHPLUGINS_PATH)/list.json
GARBAGE += $(list-json)

libs:: searchplugins

# 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

$(list-json): $(call mkdir_deps,$(SEARCHPLUGINS_PATH)) $(if $(IS_LANGUAGE_REPACK),FORCE)
	$(call py_action,generate_searchjson,$(srcdir)/search/list.json $(AB_CD) $(list-json))
searchplugins:: $(list-json)

DEFINES += -DBOOKMARKS_INCLUDE_DIR=$(dir $(call MERGE_FILE,profile/bookmarks.inc))

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/jaws-esr/locales AB_CD=$* XPI_NAME=locale-$*
	@$(MAKE) -C ../extensions/onboarding/locales AB_CD=$* XPI_NAME=locale-$*
	@$(MAKE) -C ../extensions/pocket/locale AB_CD=$* XPI_NAME=locale-$*
ifndef RELEASE_OR_BETA
	@$(MAKE) -C ../extensions/presentation/locale AB_CD=$* XPI_NAME=locale-$*
endif
ifneq '$(or $(MOZ_DEV_EDITION),$(NIGHTLY_BUILD))' ''
	@$(MAKE) -C ../extensions/webcompat-reporter/locales AB_CD=$* XPI_NAME=locale-$*
endif
	@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
	@$(MAKE) -C ../../devtools/shim/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
	@$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$*
	@$(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 ../extensions/jaws-esr/locales chrome AB_CD=$*
	@$(MAKE) -C ../extensions/pocket/locale chrome AB_CD=$*
ifndef RELEASE_OR_BETA
	@$(MAKE) -C ../extensions/presentation/locale chrome AB_CD=$*
endif
	@$(MAKE) -C ../../devtools/client/locales chrome AB_CD=$*
	@$(MAKE) -C ../../devtools/shim/locales chrome AB_CD=$*
	@$(MAKE) chrome AB_CD=$*
	@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
ifdef NIGHTLY_BUILD
	@$(MAKE) -C ../extensions/webcompat-reporter/locales chrome AB_CD=$*
endif

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