1This is an alternate build system. 2For details see 3https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm. 4Build commands can be seen from the top-level with: 5.Dl make show-valid-targets 6The build is driven by dirdeps.mk using 7.Va DIRDEPS 8stored in 9Makefile.depend files found in each directory. 10.Pp 11The build can be started from anywhere, and behaves the same. 12The initial instance of 13.Xr make 1 14recursively reads 15.Va DIRDEPS 16from 17.Pa Makefile.depend , 18computing a graph of tree dependencies from the current origin. 19Setting 20.Va NO_DIRDEPS 21skips checking dirdep dependencies and will only build in the current 22and child directories. 23.Va NO_DIRDEPS_BELOW 24skips building any dirdeps and only build the current directory. 25.Pp 26This also utilizes the 27.Va WITH_META_MODE 28logic for incremental builds. 29.Pp 30The build hides commands executed unless 31.Va NO_SILENT 32is defined. 33.Pp 34Note that there is currently no mass install feature for this. 35This build is designed for producing packages, that can then be installed 36on a target system. 37.Pp 38The implementation in 39.Fx 40is incomplete. 41Completion would require leaf directories for building each kernel 42and package so that their dependencies can be tracked. 43