2014-01-20 04:09:56 +04:00
|
|
|
# This file is normally included by autoconf.mk, but it is also used
|
|
|
|
# directly in python/mozbuild/mozbuild/base.py for gmake validation.
|
|
|
|
# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
|
|
|
|
# whether a normal build is happening or whether the check is running.
|
Bug 445128 - Stop putting the version number in the target directory for make install. r=nalexander
Back when I filed this bug, $appname-$version was already useless, but
there actually were multiple supported versions (e.g. 3.5/3.6). So it
made sense to have e.g. firefox-3.5 and firefox-3.6, but not
firefox-3.5.12 and firefox-3.5.13.
Fast forward 10 years, and we change "major" versions every 6 to 8
weeks, have multiple chemspills every other week, and installing to
firefox-57.0, firefox-57.0.1, firefox-57.0.2, firefox-57.0.3 doesn't
make any kind of sense. Even firefox-56, firefox-57 is pretty much
useless.
There /kind/ of was some usefulness to the version in the SDK
directories, but those are gone.
I'm pretty sure no downstream is actually using versioned directories
anyways.
At this point, it seems better to just use the application name, without
the version. A case could be made about ESR, but that would be better
handled with a separate application name (e.g. firefox-esr).
--HG--
extra : rebase_source : 333e10ea1316714bf0008ec772b35093edfc45ff
2017-12-31 11:18:52 +03:00
|
|
|
installdir = $(libdir)/$(MOZ_APP_NAME)
|
2014-01-14 02:38:40 +04:00
|
|
|
ifeq (.,$(DEPTH))
|
2015-11-25 08:09:41 +03:00
|
|
|
DIST = dist
|
2014-01-14 02:38:40 +04:00
|
|
|
else
|
2015-11-25 08:09:41 +03:00
|
|
|
DIST = $(DEPTH)/dist
|
2014-01-14 02:38:40 +04:00
|
|
|
endif
|
2015-12-30 03:31:29 +03:00
|
|
|
ABS_DIST = $(topobjdir)/dist
|
2012-06-20 11:00:48 +04:00
|
|
|
|
|
|
|
ifeq ($(HOST_OS_ARCH),WINNT)
|
2014-06-25 03:38:12 +04:00
|
|
|
# We only support building with a non-msys gnu make version
|
2013-12-06 03:45:29 +04:00
|
|
|
# strictly above 4.0.
|
2014-06-25 03:38:12 +04:00
|
|
|
ifdef .PYMAKE
|
|
|
|
$(error Pymake is no longer supported. Please upgrade to MozillaBuild 1.9 or newer and build with 'mach' or 'mozmake')
|
|
|
|
endif
|
|
|
|
|
2013-12-06 03:45:29 +04:00
|
|
|
ifeq (a,$(firstword a$(subst /, ,$(abspath .))))
|
|
|
|
$(error MSYS make is not supported)
|
|
|
|
endif
|
|
|
|
# 4.0- happens to be greater than 4.0, lower than the mozmake version,
|
|
|
|
# and lower than 4.0.1 or 4.1, whatever next version of gnu make will
|
|
|
|
# be released.
|
|
|
|
ifneq (4.0-,$(firstword $(sort 4.0- $(MAKE_VERSION))))
|
|
|
|
$(error Make version too old. Only versions strictly greater than 4.0 are supported.)
|
2012-06-20 11:00:48 +04:00
|
|
|
endif
|
2014-06-25 03:38:12 +04:00
|
|
|
|
2014-01-20 04:09:56 +04:00
|
|
|
ifdef INCLUDED_AUTOCONF_MK
|
2013-10-16 03:34:18 +04:00
|
|
|
ifeq (a,$(firstword a$(subst /, ,$(srcdir))))
|
|
|
|
$(error MSYS-style srcdir are not supported for Windows builds.)
|
2012-06-20 11:00:48 +04:00
|
|
|
endif
|
2014-01-20 04:09:56 +04:00
|
|
|
endif
|
2012-06-20 11:00:48 +04:00
|
|
|
endif # WINNT
|
2013-08-20 04:15:43 +04:00
|
|
|
|
2014-01-20 04:09:56 +04:00
|
|
|
ifndef INCLUDED_AUTOCONF_MK
|
|
|
|
default::
|
2014-08-07 08:48:08 +04:00
|
|
|
else
|
2019-07-16 02:50:31 +03:00
|
|
|
# All possible tiers
|
Bug 1651287 - Add a pre-compile pseudo-tier. r=firefox-build-system-reviewers,rstewart
Generated files marked as "required during compile" are limited to a
number of extensions, most of which are source file types, so they get
generated when compiling the corresponding object file. Other types,
though, are currently handled via EXTRA_DEPS, which is clunky.
As of now, these other types are limited to link-related items, but more
would be useful (e.g. .inc files, which are only included in one
location).
This however works against the static analysis tasks (coverity and
clang-tidy), which currently rely on everything they need being created
via the export tier. That excludes using EXTRA_DEPS-based hacks.
We create a "pre-compile" tier, that is not used during a normal build,
but can be invoked manually, which the static analysis tasks will do.
Differential Revision: https://phabricator.services.mozilla.com/D83035
2020-07-12 01:18:25 +03:00
|
|
|
ALL_TIERS := artifact win32-artifact android-fat-aar-artifact pre-export export pre-compile rust compile misc libs android-stage-package android-archive-geckoview tools check
|
2019-07-16 02:50:31 +03:00
|
|
|
|
|
|
|
# All tiers that may be used manually via `mach build $tier`
|
|
|
|
RUNNABLE_TIERS := $(ALL_TIERS)
|
|
|
|
ifndef MOZ_ARTIFACT_BUILDS
|
|
|
|
RUNNABLE_TIERS := $(filter-out artifact,$(RUNNABLE_TIERS))
|
|
|
|
endif
|
|
|
|
ifndef MOZ_EME_WIN32_ARTIFACT
|
|
|
|
RUNNABLE_TIERS := $(filter-out win32-artifact,$(RUNNABLE_TIERS))
|
|
|
|
endif
|
|
|
|
ifndef MOZ_ANDROID_FAT_AAR_ARCHITECTURES
|
|
|
|
RUNNABLE_TIERS := $(filter-out android-fat-aar-artifact,$(RUNNABLE_TIERS))
|
|
|
|
endif
|
2019-08-21 06:07:16 +03:00
|
|
|
ifneq ($(MOZ_BUILD_APP),mobile/android)
|
|
|
|
RUNNABLE_TIERS := $(filter-out android-stage-package,$(RUNNABLE_TIERS))
|
|
|
|
RUNNABLE_TIERS := $(filter-out android-archive-geckoview,$(RUNNABLE_TIERS))
|
|
|
|
endif
|
2019-07-16 02:50:31 +03:00
|
|
|
|
|
|
|
# All tiers that run automatically on `mach build`
|
Bug 1651287 - Add a pre-compile pseudo-tier. r=firefox-build-system-reviewers,rstewart
Generated files marked as "required during compile" are limited to a
number of extensions, most of which are source file types, so they get
generated when compiling the corresponding object file. Other types,
though, are currently handled via EXTRA_DEPS, which is clunky.
As of now, these other types are limited to link-related items, but more
would be useful (e.g. .inc files, which are only included in one
location).
This however works against the static analysis tasks (coverity and
clang-tidy), which currently rely on everything they need being created
via the export tier. That excludes using EXTRA_DEPS-based hacks.
We create a "pre-compile" tier, that is not used during a normal build,
but can be invoked manually, which the static analysis tasks will do.
Differential Revision: https://phabricator.services.mozilla.com/D83035
2020-07-12 01:18:25 +03:00
|
|
|
TIERS := $(filter-out pre-compile check,$(RUNNABLE_TIERS))
|
2019-07-16 02:50:31 +03:00
|
|
|
ifndef COMPILE_ENVIRONMENT
|
|
|
|
TIERS := $(filter-out rust compile,$(TIERS))
|
|
|
|
endif
|
|
|
|
ifndef MOZ_RUST_TIER
|
|
|
|
TIERS := $(filter-out rust,$(TIERS))
|
|
|
|
endif
|
|
|
|
|
2014-01-20 04:09:56 +04:00
|
|
|
endif
|
2014-11-30 04:45:31 +03:00
|
|
|
|
|
|
|
# These defines are used to support the twin-topsrcdir model for comm-central.
|
|
|
|
ifdef MOZILLA_SRCDIR
|
|
|
|
MOZILLA_DIR = $(MOZILLA_SRCDIR)
|
|
|
|
else
|
|
|
|
MOZILLA_DIR = $(topsrcdir)
|
|
|
|
endif
|