#!/usr/bin/make -f # We need this to execute before the debian/control target gets called # and before patches are unapplied clean:: ifneq (1, $(MOZ_DISABLE_CLEAN_CHECKS)) cp debian/control debian/control.old touch debian/control.in else touch debian/control endif -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/rules/patchsys-quilt.mk -include /usr/share/cdbs/1/class/makefile.mk MOZ_OBJDIR := $(DEB_BUILDDIR)/obj-$(DEB_HOST_GNU_TYPE) MOZ_DISTDIR := $(MOZ_OBJDIR)/dist MOZ_BUILDID := $(shell cat $(DEB_SRCDIR)/BUILDID) $(info Build ID: $(MOZ_BUILDID)) ifeq (,$(MOZ_APP)) $(error "Need to set MOZ_APP") endif ifeq (,$(MOZ_APP_NAME)) $(error "Need to set MOZ_APP_NAME") endif ifeq (,$(MOZ_PKG_NAME)) $(error "Need to set MOZ_PKG_NAME") endif ifeq (,$(MOZ_PKG_BASENAME)) $(error "Need to set MOZ_PKG_BASENAME") endif ifeq (,$(MOZ_BRANDING_OPTION)) $(error "Need to set MOZ_BRANDING_OPTION") endif ifeq (,$(MOZ_BRANDING_DIR)) $(error "Need to set MOZ_BRANDING_DIR") endif DEB_BUILD_DIR := $(MOZ_OBJDIR) # Without this, CDBS passes CFLAGS and CXXFLAGS options to client.mk, which breaks the build DEB_MAKE_EXTRA_ARGS := # These normally come from autotools.mk, which we no longer include (because we # don't want to run configure) DEB_MAKE_INSTALL_TARGET := # Prevent some files from being cleaned to avoid build failures DEB_CLEAN_EXCLUDE := Cargo.toml.orig # Don't save debug symbols in firefox-dbg (rely on pkg-create-dbgsym to create # ddeb packages for us). This is needed as long as there is a firefox-dbg # transitional package DEB_DH_STRIP_ARGS := --dbg-package=$(MOZ_PKG_NAME)-dbg # We don't want build-tree/mozilla/README to be shipped as a doc DEB_INSTALL_DOCS_ALL := $(NULL) # Stop the buildd from timing out during long links MAKE := python3 $(CURDIR)/debian/build/keepalive-wrapper.py 1440 $(MAKE) MOZ_VERSION := $(shell cat $(DEB_SRCDIR)/$(MOZ_APP)/config/version.txt) MOZ_LIBDIR := usr/lib/$(MOZ_APP_NAME) MOZ_INCDIR := usr/include/$(MOZ_APP_NAME) MOZ_IDLDIR := usr/share/idl/$(MOZ_APP_NAME) MOZ_SDKDIR := usr/lib/$(MOZ_APP_NAME)-devel MOZ_ADDONDIR := usr/lib/$(MOZ_APP_NAME)-addons MOZ_APP_SUBDIR ?= # If we change MOZ_APP_NAME, we want to set the profile directory # to match ifneq (,$(MOZ_VENDOR)) PROFILE_BASE = $(shell echo $(MOZ_VENDOR) | tr A-Z a-z)/ endif ifneq ($(MOZ_APP_NAME),$(MOZ_DEFAULT_APP_NAME)) MOZ_APP_PROFILE := $(PROFILE_BASE)$(MOZ_APP_NAME) endif DEB_AUTO_UPDATE_DEBIAN_CONTROL = no VIRTENV_PATH := $(CURDIR)/$(MOZ_OBJDIR)/_virtualenv MOZ_PYTHON := $(VIRTENV_PATH)/bin/python3 DISTRIB := $(shell lsb_release -i -s) CFLAGS := $(shell echo $(CFLAGS) | sed -e 's/\-g//' | sed -e 's/\-O[s0123]//') CXXFLAGS := $(shell echo $(CFLAGS) | sed -e 's/\-g//' | sed -e 's/\-O[s0123]//') LDFLAGS := $(shell echo $(LDFLAGS) | sed -e 's/-Wl,-Bsymbolic-functions//') # enable the crash reporter only on i386 and amd64 ifeq (,$(filter i386 amd64,$(DEB_HOST_ARCH))) MOZ_ENABLE_BREAKPAD = 0 endif # Ensure the crash reporter gets disabled for derivatives ifneq (Ubuntu, $(DISTRIB)) MOZ_ENABLE_BREAKPAD = 0 endif MOZ_DISPLAY_NAME = $(shell cat $(DEB_SRCDIR)/$(MOZ_BRANDING_DIR)/locales/en-US/brand.properties \ | grep brandShortName | sed -e 's/brandShortName\=//') ifeq (,$(filter 4.7, $(shell $(CC) -dumpversion))) MOZ_BUILD_PGO = 0 endif ifeq (,$(filter i386 amd64, $(DEB_HOST_ARCH))) MOZ_BUILD_PGO = 0 endif LLVM_VERSIONS = 18 DEB_LLVM_VERSION = $(firstword $(foreach llvm_version, $(LLVM_VERSIONS), \ $(if $(shell which clang-$(llvm_version)), $(llvm_version)))) RUSTC_VERSIONS = 1.80 DEB_RUSTC_VERSION = $(firstword $(foreach rustc_version, $(RUSTC_VERSIONS), \ $(if $(shell which rustc-$(rustc_version)), $(rustc_version)))) export HOME=/tmp export SHELL=/bin/bash export NO_PNG_PKG_MANGLE=1 export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=none export MOZBUILD_STATE_PATH=/tmp/.mozbuild ifeq (linux-gnu, $(DEB_HOST_GNU_SYSTEM)) LANGPACK_DIR := linux-$(DEB_HOST_GNU_CPU)/xpi else LANGPACK_DIR := $(DEB_HOST_GNU_SYSTEM)-$(DEB_HOST_GNU_CPU)/xpi endif MOZ_PKG_SUPPORT_SUGGESTS ?= # Defines used for the Mozilla text preprocessor MOZ_DEFINES += -DMOZ_LIBDIR="$(MOZ_LIBDIR)" -DMOZ_APP_NAME="$(MOZ_APP_NAME)" -DMOZ_BUILDID="$(MOZ_BUILDID)" \ -DMOZ_INCDIR="$(MOZ_INCDIR)" -DMOZ_IDLDIR="$(MOZ_IDLDIR)" -DMOZ_VERSION="$(MOZ_VERSION)" -DDEB_HOST_ARCH="$(DEB_HOST_ARCH)" \ -DMOZ_DISPLAY_NAME="$(MOZ_DISPLAY_NAME)" -DMOZ_PKG_NAME="$(MOZ_PKG_NAME)" -DDISTRIB="$(DISTRIB)" \ -DMOZ_BRANDING_OPTION="$(MOZ_BRANDING_OPTION)" -DTOPSRCDIR="$(CURDIR)" -DDEB_HOST_GNU_TYPE="$(DEB_HOST_GNU_TYPE)" \ -DMOZ_ADDONDIR="$(MOZ_ADDONDIR)" -DMOZ_SDKDIR="$(MOZ_SDKDIR)" -DMOZ_DISTDIR="$(MOZ_DISTDIR)" -DMOZ_UPDATE_CHANNEL="$(CHANNEL)" \ -DMOZ_OBJDIR="$(MOZ_OBJDIR)" -DDEB_BUILDDIR="$(DEB_BUILDDIR)" -DMOZ_PYTHON="$(MOZ_PYTHON)" -DDEB_BUILD_ARCH_BITS=$(DEB_BUILD_ARCH_BITS) \ -DMOZ_DEFAULT_APP_NAME="$(MOZ_DEFAULT_APP_NAME)" -DDISTRIB_VERSION="$(DISTRIB_VERSION_MAJOR)$(DISTRIB_VERSION_MINOR)" \ -DDEB_RUSTC_VERSION="$(DEB_RUSTC_VERSION)" \ -DDEB_LLVM_VERSION="$(DEB_LLVM_VERSION)" ifneq (,$(MOZ_APP_PROFILE)) MOZ_DEFINES += -DMOZ_APP_PROFILE="$(MOZ_APP_PROFILE)" endif ifeq (1, $(MOZ_ENABLE_BREAKPAD)) MOZ_DEFINES += -DMOZ_ENABLE_BREAKPAD endif ifeq (1, $(MOZ_VALGRIND)) MOZ_DEFINES += -DMOZ_VALGRIND endif ifeq (1,$(MOZ_NO_OPTIMIZE)) MOZ_DEFINES += -DMOZ_NO_OPTIMIZE endif ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) MOZ_DEFINES += -DDEB_BUILD_GNU_TYPE="$(DEB_BUILD_GNU_TYPE)" endif ifeq (1,$(MOZ_BUILD_PGO)) MOZ_DEFINES += -DMOZ_BUILD_PGO endif ifeq (1,$(MOZ_DEBUG)) MOZ_DEFINES += -DMOZ_DEBUG endif ifeq (official, $(MOZ_BRANDING)) MOZ_DEFINES += -DMOZ_OFFICIAL_BRANDING endif ifneq (,$(DEB_PARALLEL_JOBS)) MOZ_DEFINES += -DDEB_PARALLEL_JOBS=$(DEB_PARALLEL_JOBS) endif MOZ_EXECUTABLES_$(MOZ_PKG_NAME) += $(MOZ_LIBDIR)/$(MOZ_PKG_BASENAME).sh \ $(NULL) pkgname_subst_files = \ debian/config/mozconfig \ $(MOZ_PKGNAME_SUBST_FILES) \ $(NULL) $(foreach pkg,$(DEB_ALL_PACKAGES), \ $(foreach e,install dirs links manpages postinst preinst postrm prerm lintian-overrides,\ $(if $(wildcard debian/$(subst $(MOZ_PKG_NAME),$(MOZ_PKG_BASENAME),$(pkg)).$(e).in),\ $(eval pkgname_subst_files += debian/$(pkg).$(e))))) appname_subst_files = \ debian/$(MOZ_APP_NAME).desktop \ $(MOZ_APPNAME_SUBST_FILES) \ $(NULL) debian/control:: debian/control.in debian/control.langpacks debian/control.langpacks.unavail debian/config/locales.shipped debian/config/locales.all @echo "" @echo "*****************************" @echo "* Refreshing debian/control *" @echo "*****************************" @echo "" cp debian/control.in debian/control.tmp perl debian/build/dump-langpack-control-entries.pl >> debian/control.tmp sed -e 's/@MOZ_PKG_NAME@/$(MOZ_PKG_NAME)/g' < debian/control.tmp > debian/control rm -f debian/control.tmp sed -i -e 's/@MOZ_LOCALE_PKGS@/$(foreach p,$(MOZ_LOCALE_PKGS),$(p) \(= $${binary:Version}\),)/' debian/control $(pkgname_subst_files): $(foreach file,$(pkgname_subst_files),$(subst $(MOZ_PKG_NAME),$(MOZ_PKG_BASENAME),$(file).in)) PYTHONDONTWRITEBYTECODE=1 python3 $(CURDIR)/debian/build/Preprocessor.py -Fsubstitution --marker="%%" $(MOZ_DEFINES) $(CURDIR)/$(subst $(MOZ_PKG_NAME),$(MOZ_PKG_BASENAME),$@.in) > $(CURDIR)/$@ $(appname_subst_files): $(foreach file,$(appname_subst_files),$(subst $(MOZ_APP_NAME),$(MOZ_PKG_BASENAME),$(file).in)) PYTHONDONTWRITEBYTECODE=1 python3 $(CURDIR)/debian/build/Preprocessor.py -Fsubstitution --marker="%%" $(MOZ_DEFINES) $(CURDIR)/$(subst $(MOZ_APP_NAME),$(MOZ_PKG_BASENAME),$@.in) > $(CURDIR)/$@ %.pc: WCHAR_CFLAGS = $(shell cat $(MOZ_OBJDIR)/config/autoconf.mk | grep WCHAR_CFLAGS | sed 's/^[^=]*=[[:space:]]*\(.*\)$$/\1/') %.pc: %.pc.in debian/stamp-makefile-build PYTHONDONTWRITEBYTECODE=1 python3 $(CURDIR)/debian/build/Preprocessor.py -Fsubstitution --marker="%%" $(MOZ_DEFINES) -DWCHAR_CFLAGS="$(WCHAR_CFLAGS)" $(CURDIR)/$< > $(CURDIR)/$@ make-buildsymbols: debian/stamp-makebuildsymbols debian/stamp-makebuildsymbols: debian/stamp-makefile-build $(MAKE) -C $(MOZ_OBJDIR) buildsymbols MOZ_SYMBOLS_EXTRA_BUILDID=$(shell date -d "`dpkg-parsechangelog | grep Date: | sed -e 's/^Date: //'`" +%y%m%d%H%M%S)-$(DEB_HOST_GNU_CPU) @touch $@ install-geckodriver: debian/stamp-installgeckodriver debian/stamp-installgeckodriver: debian/stamp-makefile-install install -D $(MOZ_DISTDIR)/bin/geckodriver $(CURDIR)/debian/$(MOZ_PKG_NAME)-geckodriver/usr/bin/geckodriver @touch $@ make-langpack-xpis: $(foreach locale,$(MOZ_LOCALES),debian/stamp-make-langpack-xpi-$(locale)) debian/stamp-make-langpack-xpi-%: @echo "" @echo "" @echo "* Building language pack xpi for $*" @echo "" export PATH=$(VIRTENV_PATH)/bin/:$$PATH ; \ export REAL_LOCALE_MERGEDIR=$(CURDIR)/debian/l10n-mergedirs/$* ; \ cd $(MOZ_OBJDIR)/$(MOZ_APP)/locales ; \ $(MAKE) langpack-$* BASE_MERGE=$(CURDIR)/debian/l10n-mergedirs REAL_LOCALE_MERGEDIR=$(CURDIR)/debian/l10n-mergedirs/$* || exit 1; @touch $@ common-configure-arch common-configure-indep:: common-configure-impl common-configure-impl:: debian/stamp-mach-configure debian/stamp-mach-configure: cbindgen/bin/cbindgen dump_syms/bin/dump_syms $(CURDIR)/mach configure && $(CURDIR)/mach build-backend touch $@ clean:: rm -f debian/stamp-mach-configure cbindgen/bin/cbindgen: third_party/cbindgen/Cargo.toml export RUST_BACKTRACE=full; \ export CC=clang-$(DEB_LLVM_VERSION); \ export CXX=clang++-$(DEB_LLVM_VERSION); \ export RUSTC=rustc-$(DEB_RUSTC_VERSION); \ cd $(CURDIR)/third_party/cbindgen; \ cargo-$(DEB_RUSTC_VERSION) build --release; \ export CARGO_HOME=$(CURDIR)/third_party/cbindgen/.cargo; \ cargo-$(DEB_RUSTC_VERSION) install --path . --bin cbindgen --root ../../cbindgen clean:: rm -rf $(CURDIR)/cbindgen rm -rf $(CURDIR)/third_party/cbindgen/target dump_syms/bin/dump_syms: third_party/dump_syms/Cargo.toml export RUST_BACKTRACE=full; \ export CC=clang-$(DEB_LLVM_VERSION); \ export CXX=clang++-$(DEB_LLVM_VERSION); \ export RUSTC=rustc-$(DEB_RUSTC_VERSION); \ cd $(CURDIR)/third_party/dump_syms; \ cargo-$(DEB_RUSTC_VERSION) build --release; \ export CARGO_HOME=$(CURDIR)/third_party/dump_syms/.cargo; \ cargo-$(DEB_RUSTC_VERSION) install --path . --bin dump_syms --root ../../dump_syms clean:: rm -rf $(CURDIR)/dump_syms rm -rf $(CURDIR)/third_party/dump_syms/target install/$(MOZ_PKG_NAME):: @echo "Adding suggests / recommends on support packages" echo "$(MOZ_PKG_SUPPORT_SUGGESTS)" | perl -0 -ne 's/[ \t\n]+/ /g; /\w/ and print "support:Suggests=$$_\n"' >> debian/$(MOZ_PKG_NAME).substvars echo "$(MOZ_PKG_SUPPORT_RECOMMENDS)" | perl -0 -ne 's/[ \t\n]+/ /g; /\w/ and print "support:Recommends=$$_\n"' >> debian/$(MOZ_PKG_NAME).substvars ifneq ($(MOZ_PKG_NAME),$(MOZ_APP_NAME)) install/%:: @echo "Adding conflicts / provides for renamed package" echo "app:Conflicts=$(subst $(subst $(MOZ_APP_NAME),,$(MOZ_PKG_NAME)),,$*)" >> debian/$*.substvars echo "app:Provides=$(subst $(subst $(MOZ_APP_NAME),,$(MOZ_PKG_NAME)),,$*)" >> debian/$*.substvars endif common-install-arch common-install-indep:: common-install-impl common-install-impl:: debian/stamp-mach-install make-langpack-xpis debian/stamp-mach-install: DESTDIR=$(CURDIR)/debian/tmp $(CURDIR)/mach install $(foreach dir,$(MOZ_LIBDIR) $(MOZ_INCDIR) $(MOZ_IDLDIR) $(MOZ_SDKDIR), \ if [ -d debian/tmp/$(dir)-$(MOZ_VERSION) ]; \ then \ mv debian/tmp/$(dir)-$(MOZ_VERSION) debian/tmp/$(dir); \ fi; ) touch $@ clean:: rm -f debian/stamp-mach-install common-install-arch:: install-geckodriver common-binary-arch:: make-buildsymbols binary-install/$(MOZ_PKG_NAME):: install -m 0644 $(CURDIR)/debian/apport/blacklist $(CURDIR)/debian/$(MOZ_PKG_NAME)/etc/apport/blacklist.d/$(MOZ_PKG_NAME) install -m 0644 $(CURDIR)/debian/apport/native-origins $(CURDIR)/debian/$(MOZ_PKG_NAME)/etc/apport/native-origins.d/$(MOZ_PKG_NAME) # Copy hicolor icons (LP: #1639863) $(foreach size,16 22 24 32 48 64 128 256, \ install -m 0644 -D $(CURDIR)/browser/branding/official/default$(size).png \ $(CURDIR)/debian/$(MOZ_PKG_NAME)/usr/share/icons/hicolor/$(size)x$(size)/apps/$(MOZ_PKG_NAME).png;) # Monochrome/symbolic icon for gnome-shell install -m 0644 $(CURDIR)/debian/symbolic.svg $(CURDIR)/debian/$(MOZ_PKG_NAME)/usr/share/icons/hicolor/symbolic/apps/$(MOZ_PKG_NAME)-symbolic.svg $(patsubst %,binary-post-install/%,$(MOZ_LOCALE_PKGS)):: binary-post-install/%: install-langpack-xpis-% binary-post-install/$(MOZ_PKG_NAME)-dev:: rm -f debian/$(MOZ_PKG_NAME)-dev/$(MOZ_INCDIR)/nspr/md/_linux.cfg dh_link -p$(MOZ_PKG_NAME)-dev $(MOZ_INCDIR)/nspr/prcpucfg.h $(MOZ_INCDIR)/nspr/md/_linux.cfg $(patsubst %,binary-post-install/%,$(DEB_ALL_PACKAGES)) :: binary-post-install/%: find debian/$(cdbs_curpkg) -name .mkdir.done -delete define locales_for_langpack $(strip $(if $(filter $(MOZ_PKG_NAME),$(1)),\ en-US,\ $(shell grep $(subst $(MOZ_PKG_NAME)-locale-,,$(1))$$ debian/config/locales.shipped | sed -n 's/\([^\:]*\)\:\?.*/\1/ p'))) endef install-langpack-xpis-%: @echo "" @echo "Installing language pack xpis for $*" dh_installdirs -p$* $(MOZ_ADDONDIR)/extensions $(foreach lang,$(call locales_for_langpack,$*), \ id=`PYTHONDONTWRITEBYTECODE=1 python3 $(CURDIR)/debian/build/xpi-id.py $(CURDIR)/$(MOZ_DISTDIR)/$(LANGPACK_DIR)/$(MOZ_APP_NAME)-$(MOZ_VERSION).$(lang).langpack.xpi 2>/dev/null`; \ install -m 0644 $(CURDIR)/$(MOZ_DISTDIR)/$(LANGPACK_DIR)/$(MOZ_APP_NAME)-$(MOZ_VERSION).$(lang).langpack.xpi \ $(CURDIR)/debian/$*/$(MOZ_ADDONDIR)/extensions/$$id.xpi;) $(patsubst %,binary-fixup/%,$(DEB_ALL_PACKAGES)) :: binary-fixup/%: find debian/$(cdbs_curpkg) -type f -perm -5 \( -name '*.zip' -or -name '*.xml' -or -name '*.js' -or -name '*.manifest' -or -name '*.xpt' \) -print0 2>/dev/null | xargs -0r chmod 644 $(foreach f,$(call cdbs_expand_curvar,MOZ_EXECUTABLES),chmod a+x debian/$(cdbs_curpkg)/$(f);) mozconfig: debian/config/mozconfig cp $< $@ define cmp_auto_generated_file @if ! cmp -s $(1) $(1).old; then \ echo ""; \ diff -Nurp $(1).old $(1); \ echo ""; \ echo "****************************************************************************"; \ echo "* An automatically generated file is out of date and needs to be refreshed *"; \ echo "****************************************************************************"; \ echo ""; \ echo "$(1) is out of date. Please run \"debian/rules $(firstword $(2) $(1))\" in VCS"; \ echo ""; \ rm -f $(1).old; \ exit 1; \ fi rm -f $(1).old endef pre-build:: cp debian/config/locales.shipped debian/config/locales.shipped.old pre-build:: debian/config/locales.shipped $(pkgname_subst_files) $(appname_subst_files) mozconfig $(call cmp_auto_generated_file,debian/config/locales.shipped,refresh-supported-locales) # Conditionally patch the top-level Cargo.toml file to reduce the LTO to "thin" # on armhf to work around OOM failures on Launchpad builders. This is only one # half of the workaround, see also debian/patches/armhf-rustc-thin-lto.patch. ifneq (,$(filter arm64 armhf, $(DEB_HOST_ARCH))) pre-build:: Cargo.toml.bak Cargo.toml.bak: Cargo.toml cp $< $@ sed -i 's/\[profile.release\]/\[profile.release\]\nlto = "thin"/' $< clean:: if [ -f Cargo.toml.bak ]; then mv Cargo.toml.bak Cargo.toml; fi endif EXTRACT_TARBALL = $(firstword $(shell TMPDIR=`mktemp -d`; tar -jxf $(1) -C $$TMPDIR > /dev/null 2>&1; echo $$TMPDIR/`ls $$TMPDIR/ | head -n1`)) ifdef LANGPACK_O_MATIC refresh-supported-locales:: LPOM_OPT = -l $(LANGPACK_O_MATIC) endif refresh-supported-locales:: EXTRACTED := $(if $(wildcard $(MOZ_APP)/locales/shipped-locales),,$(call EXTRACT_TARBALL,$(TARBALL))) refresh-supported-locales:: SHIPPED_LOCALES = $(firstword $(wildcard $(CURDIR)/$(MOZ_APP)/locales/shipped-locales) $(wildcard $(EXTRACTED)/$(MOZ_APP)/locales/shipped-locales)) refresh-supported-locales:: @echo "" @echo "****************************************" @echo "* Refreshing list of shipped languages *" @echo "****************************************" @echo "" $(if $(SHIPPED_LOCALES),,$(error We aren't in the full source directory. Please use "TARBALL=")) perl debian/build/refresh-supported-locales.pl -s $(SHIPPED_LOCALES) $(LPOM_OPT) refresh-supported-locales:: debian/control $(if $(EXTRACTED),rm -rf $(dir $(EXTRACTED))) define moz_monkey_patch_file $(if $(wildcard debian/stamp-monkey-patch-upstream-files),$(error Too late to use moz_monkey_patch_file), \ echo "$(1)" >> debian/monkey-patch-files; \ echo "$(2) $(1)" >> debian/monkey-patch-files.sh) endef get-orig-source: ARGS = -r $(MOZILLA_REPO) -l $(L10N_REPO) -n $(MOZ_PKG_NAME) -b $(MOZ_PKG_BASENAME) -a $(MOZ_APP) ifdef UPSTREAM_VERSION get-orig-source: ARGS += -v $(UPSTREAM_VERSION) endif ifdef UPSTREAM_BUILD get-orig-source: ARGS += --build $(UPSTREAM_BUILD) endif ifdef LOCAL_BRANCH get-orig-source: ARGS += -c $(LOCAL_BRANCH) endif get-orig-source: PYTHONDONTWRITEBYTECODE=1 python3 $(CURDIR)/debian/build/create-tarball.py $(ARGS) echo-%: @echo "$($*)" ifneq (1, $(MOZ_DISABLE_CLEAN_CHECKS)) clean:: cp debian/config/locales.shipped debian/config/locales.shipped.old clean:: refresh-supported-locales $(call cmp_auto_generated_file,debian/config/locales.shipped,refresh-supported-locales) $(call cmp_auto_generated_file,debian/control) endif clean:: rm -f $(pkgname_subst_files) $(appname_subst_files) rm -f debian/stamp-* rm -rf debian/l10n-mergedirs rm -rf $(MOZ_OBJDIR) rm -f mozconfig .PHONY: make-buildsymbols make-langpack-xpis refresh-supported-locales get-orig-source monkey-patch-upstream-files