# 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. installdir = $(libdir)/$(MOZ_APP_NAME) ifeq (.,$(DEPTH)) DIST = dist else DIST = $(DEPTH)/dist endif ABS_DIST = $(topobjdir)/dist # We do magic with OBJ_SUFFIX in config.mk, the following ensures we don't # manually use it before config.mk inclusion _OBJ_SUFFIX := $(OBJ_SUFFIX) OBJ_SUFFIX = $(error config/config.mk needs to be included before using OBJ_SUFFIX) ifeq ($(HOST_OS_ARCH),WINNT) # We only support building with a non-msys gnu make version # strictly above 4.0. ifdef .PYMAKE $(error Pymake is no longer supported. Please upgrade to MozillaBuild 1.9 or newer and build with 'mach' or 'mozmake') endif 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.) endif ifdef INCLUDED_AUTOCONF_MK ifeq (a,$(firstword a$(subst /, ,$(srcdir)))) $(error MSYS-style srcdir are not supported for Windows builds.) endif endif endif # WINNT ifndef INCLUDED_AUTOCONF_MK default:: else # All possible tiers ALL_TIERS := artifact win32-artifact android-fat-aar-artifact pre-export export rust compile misc libs android-stage-package android-archive-geckoview tools check # 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 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 # All tiers that run automatically on `mach build` TIERS := $(filter-out check,$(RUNNABLE_TIERS)) ifndef COMPILE_ENVIRONMENT TIERS := $(filter-out rust compile,$(TIERS)) endif ifndef MOZ_RUST_TIER TIERS := $(filter-out rust,$(TIERS)) endif endif # 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