This is an old revision of the document!
Meta mode
Meta mode is an incremental build option for FreeBSD, which uses bmake's meta mode and filemon(4) to create meta files. It substantially decreases the time it takes to build FreeBSD, by only building what has changed since the last build.
Introduction
src.conf(5)build(7)
Note: Enabling META_MODE also implies (enables) NO_CLEAN in the buildworld process
Setup
/etc/src-env.conf:
WITH_META_MODE=YES
kldload filemon- You also need to
make cleanworldonce. If objects don't have.metafiles thenMETA_MODEwon't do the right thing on an incremental build. (Source: [CFT WITH_META_MODE: Working incremental build)
Follow the FreeBSD Handbook: makeworld instructions.
Caveats
Don't mix.WITH_META_MODEwithccache(1)as mentioned in this thread- 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.