summaryrefslogtreecommitdiffstats
path: root/tools/build/options/WITH_DIRDEPS_BUILD
blob: 981c1a93db11e4a0f6399d20425163f4d262517b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
.\" $FreeBSD$
Enable building in meta mode.
This is an experimental build feature.
For details see
http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
.Pp
The build is driven by dirdeps.mk using
.Va DIRDEPS
stored in
Makefile.depend files found in each directory.
.Pp
The build can be started from anywhere, and behaves the same.
The initial instance of
.Xr make 1 
recursively reads
.Va DIRDEPS
from Makefile.depend
computing a graph of tree dependencies from the current origin.
Setting
.Va NO_DIRDEPS
will skip checking dirdep dependencies and will only build in the current
and child directories.
.Va NO_DIRDEPS_BELOW
will skip building any dirdeps and only build the current directory.
.Pp
As each target is made
.Xr make 1
produces a meta file which is used to capture (and compare)
the command line,
as well as any command output.
If
.Xr filemon 4
is available the meta file will also capture a record of files
used to produce the target by tracking syscalls.
.Pp
The build will hide commands ran unless
.Va NO_SILENT
is defined.
.Pp
OpenPOWER on IntegriCloud