summaryrefslogtreecommitdiff
path: root/tools/build/options/WITH_DIRDEPS_BUILD
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build/options/WITH_DIRDEPS_BUILD')
-rw-r--r--tools/build/options/WITH_DIRDEPS_BUILD37
1 files changed, 37 insertions, 0 deletions
diff --git a/tools/build/options/WITH_DIRDEPS_BUILD b/tools/build/options/WITH_DIRDEPS_BUILD
new file mode 100644
index 000000000000..eafe857dd460
--- /dev/null
+++ b/tools/build/options/WITH_DIRDEPS_BUILD
@@ -0,0 +1,37 @@
+.\" $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
+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