Allowing rebuilds

Learn about clearmake rebuild.

If you continue to invoke clearmake or omake until it determines that all files are up to date, other VersionVault features work correctly. The configuration records record all .class files as implicit dependencies rather than as siblings, which allows winkin to work.

However, the number of rebuilds can become very large if the makefile is written incorrectly. It is possible to map out a correct set of dependencies, as described in Writing correct makefiles; it is also possible to request (however inadvertently) that clearmake or omake build the files in exactly the reverse, and most inefficient, order.

In addition, the default behavior of clearmake and omake is to ignore modifications to siblings for the purposes of rebuilding. For winkin to work correctly, you must re-enable that behavior by using a command-line option or special makefile directive.

Another drawback to this method is that the builds of mutually dependent source files do not fit well, because the files are never up to date. The makefile for these must be written carefully, as described in Writing correct makefiles.