12b519b17SSimon J. GerratyThis is an alternate build system. 2948f327eSSimon J. GerratyFor details see 3e515b9b4SWolfram Schneiderhttps://www.crufty.net/sjg/docs/freebsd-meta-mode.htm. 4f43bc6d1SBryan DreweryBuild commands can be seen from the top-level with: 5f43bc6d1SBryan Drewery.Dl make show-valid-targets 6948f327eSSimon J. GerratyThe build is driven by dirdeps.mk using 7948f327eSSimon J. Gerraty.Va DIRDEPS 8948f327eSSimon J. Gerratystored in 9948f327eSSimon J. GerratyMakefile.depend files found in each directory. 10948f327eSSimon J. Gerraty.Pp 11948f327eSSimon J. GerratyThe build can be started from anywhere, and behaves the same. 12948f327eSSimon J. GerratyThe initial instance of 13948f327eSSimon J. Gerraty.Xr make 1 14948f327eSSimon J. Gerratyrecursively reads 15948f327eSSimon J. Gerraty.Va DIRDEPS 167a206c31SWarren Blockfrom 177a206c31SWarren Block.Pa Makefile.depend , 18948f327eSSimon J. Gerratycomputing a graph of tree dependencies from the current origin. 19948f327eSSimon J. GerratySetting 20948f327eSSimon J. Gerraty.Va NO_DIRDEPS 217a206c31SWarren Blockskips checking dirdep dependencies and will only build in the current 224cfc7d9dSBryan Dreweryand child directories. 234cfc7d9dSBryan Drewery.Va NO_DIRDEPS_BELOW 247a206c31SWarren Blockskips building any dirdeps and only build the current directory. 25948f327eSSimon J. Gerraty.Pp 26f43bc6d1SBryan DreweryThis also utilizes the 27f43bc6d1SBryan Drewery.Va WITH_META_MODE 28f43bc6d1SBryan Drewerylogic for incremental builds. 29948f327eSSimon J. Gerraty.Pp 307a206c31SWarren BlockThe build hides commands executed unless 31948f327eSSimon J. Gerraty.Va NO_SILENT 32948f327eSSimon J. Gerratyis defined. 33948f327eSSimon J. Gerraty.Pp 34f43bc6d1SBryan DreweryNote that there is currently no mass install feature for this. 352b519b17SSimon J. GerratyThis build is designed for producing packages, that can then be installed 362b519b17SSimon J. Gerratyon a target system. 37f43bc6d1SBryan Drewery.Pp 38*722cfce5SSimon J. GerratyThe implementation in 39*722cfce5SSimon J. Gerraty.Fx 40*722cfce5SSimon J. Gerratyis incomplete. 41*722cfce5SSimon J. GerratyCompletion would require leaf directories for building each kernel 422b519b17SSimon J. Gerratyand package so that their dependencies can be tracked. 43