Metamode
Contents
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=YES to /etc/src-env.conf
Run # kldload filemon
Run # make cleanworld once. If objects don't have .meta files then META_MODE won'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
Don't mix WITH_META_MODE with ccache(1) as mentioned in this thread .
- For all versions from 12.0-RELEASE and going forward, both technologies work as expected.
WITH_META_MODE is not the same thing as WITH_DIRDEPS_BUILD, which is an alternative, experimental build system.
References
src.conf(5)
build(7)