Metamode
Introduction
Metamode is an incremental build system for FreeBSD, which uses bmake's meta mode and filemon(4) to create metadata files, substantially decreasing build times by only building what has changed since the last build.
Note: Enabling META_MODE also implies (enables) NO_CLEAN in the buildworld process
Setup
- Add
WITH_META_MODE=YESto/etc/src-env.conf - Run
# kldload filemon - Run
# make cleanworldonce. If objects don't have.metafiles thenMETA_MODEwon't do the right thing on an incremental build. 1) - FreeBSD buildworld will now create meta files to improve the performance of future builds.
Caveats
-
- For all versions from 12.0-RELEASE and going forward, both technologies work as expected.
WITH_META_MODEis not the same thing asWITH_DIRDEPS_BUILD, which is an alternative, experimental build system.
References
src.conf(5)build(7)
—-