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