xref: /freebsd/tools/build/options/WITH_DIRDEPS_BUILD (revision 7ef62cebc2f965b0f640263e179276928885e33d)
$FreeBSD$
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.

p The build can be started from anywhere, and behaves the same. The initial instance of .Xr make 1 recursively reads .Va DIRDEPS from

a 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.

p This also utilizes the .Va WITH_META_MODE logic for incremental builds.

p The build hides commands executed unless .Va NO_SILENT is defined.

p 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.

p The implementation in .Fx is incomplete. Completion would require leaf directories for building each kernel and package so that their dependencies can be tracked.