HardenedBSD/tools/build/options/WITH_DIRDEPS_BUILD
Warner Losh b2c76c41be Remove $FreeBSD$: one-line nroff pattern
Remove /^\.\\"\s*\$FreeBSD\$$\n/
2023-08-16 11:55:15 -06:00

43 lines
1.2 KiB
Plaintext

This is an alternate build system.
For details see
https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
Build commands can be seen from the top-level with:
.Dl make show-valid-targets
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
.Pa Makefile.depend ,
computing a graph of tree dependencies from the current origin.
Setting
.Va NO_DIRDEPS
skips checking dirdep dependencies and will only build in the current
and child directories.
.Va NO_DIRDEPS_BELOW
skips building any dirdeps and only build the current directory.
.Pp
This also utilizes the
.Va WITH_META_MODE
logic for incremental builds.
.Pp
The build hides commands executed unless
.Va NO_SILENT
is defined.
.Pp
Note that there is currently no mass install feature for this.
This build is designed for producing packages, that can then be installed
on a target system.
.Pp
The implementation in
.Fx
is incomplete.
Completion would require leaf directories for building each kernel
and package so that their dependencies can be tracked.