1# This file is normally included by autoconf.mk, but it is also used 2# directly in python/mozbuild/mozbuild/base.py for gmake validation. 3# We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending 4# whether a normal build is happening or whether the check is running. 5installdir = $(libdir)/$(MOZ_APP_NAME) 6ifeq (.,$(DEPTH)) 7DIST = dist 8else 9DIST = $(DEPTH)/dist 10endif 11ABS_DIST = $(topobjdir)/dist 12 13ifeq ($(HOST_OS_ARCH),WINNT) 14# We only support building with a non-msys gnu make version 15# strictly above 4.0. 16ifdef .PYMAKE 17$(error Pymake is no longer supported. Please upgrade to MozillaBuild 1.9 or newer and build with 'mach' or 'mozmake') 18endif 19 20ifeq (a,$(firstword a$(subst /, ,$(abspath .)))) 21$(error MSYS make is not supported) 22endif 23# 4.0- happens to be greater than 4.0, lower than the mozmake version, 24# and lower than 4.0.1 or 4.1, whatever next version of gnu make will 25# be released. 26ifneq (4.0-,$(firstword $(sort 4.0- $(MAKE_VERSION)))) 27$(error Make version too old. Only versions strictly greater than 4.0 are supported.) 28endif 29 30ifdef INCLUDED_AUTOCONF_MK 31ifeq (a,$(firstword a$(subst /, ,$(srcdir)))) 32$(error MSYS-style srcdir are not supported for Windows builds.) 33endif 34endif 35endif # WINNT 36 37ifndef INCLUDED_AUTOCONF_MK 38default:: 39else 40 41ifeq ($(MOZ_BUILD_APP),tools/rusttests) 42# Rusttest tiers aren't a subset of regular ALL_TIERS, so define them separately 43ALL_TIERS := pre-export export rusttests 44else 45# All possible tiers 46ALL_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 47endif 48 49# All tiers that may be used manually via `mach build $tier` 50RUNNABLE_TIERS := $(ALL_TIERS) 51ifndef MOZ_ARTIFACT_BUILDS 52RUNNABLE_TIERS := $(filter-out artifact,$(RUNNABLE_TIERS)) 53endif 54ifndef MOZ_EME_WIN32_ARTIFACT 55RUNNABLE_TIERS := $(filter-out win32-artifact,$(RUNNABLE_TIERS)) 56endif 57ifndef MOZ_ANDROID_FAT_AAR_ARCHITECTURES 58RUNNABLE_TIERS := $(filter-out android-fat-aar-artifact,$(RUNNABLE_TIERS)) 59endif 60ifneq ($(MOZ_BUILD_APP),mobile/android) 61RUNNABLE_TIERS := $(filter-out android-stage-package,$(RUNNABLE_TIERS)) 62RUNNABLE_TIERS := $(filter-out android-archive-geckoview,$(RUNNABLE_TIERS)) 63endif 64 65# All tiers that run automatically on `mach build` 66TIERS := $(filter-out pre-compile check,$(RUNNABLE_TIERS)) 67ifndef COMPILE_ENVIRONMENT 68TIERS := $(filter-out rust compile,$(TIERS)) 69endif 70ifndef MOZ_RUST_TIER 71TIERS := $(filter-out rust,$(TIERS)) 72endif 73 74endif 75 76# These defines are used to support the twin-topsrcdir model for comm-central. 77ifdef MOZILLA_SRCDIR 78 MOZILLA_DIR = $(MOZILLA_SRCDIR) 79else 80 MOZILLA_DIR = $(topsrcdir) 81endif 82