Problems with forced builds

Understand the problems with forced builds.

omake has an unconditional option -a (on clearmake it is -u), which forces rebuilds. Using this option reduces the efficiency of derived object sharing, however. If you force clearmake or omake to build a target when it would have winked in an existing DO, you create a new DO with the same configuration as an existing one. In such situations, a developer who expects a build to share a particular existing DO might get another, identically configured DO instead. This might confuse the team and waste disk space.

We suggest that you use a flag file to force a rebuild, rather than using omake -a or clearmake -u. (For more information, see Source dependencies declared explicitly.)