Parallel build scheduler

Learn about parallel build scheduler.

clearmake schedules and manages target rebuilds as follows:

  • It executes the build script for an out-of-date target as soon after detection as system build resources allow.
  • It does not assume that executing a build script for a specific target implies that the target was updated.

clearmake evaluates the dependency graph, beginning with the targets specified on the command line. Before evaluating a specific target, clearmake ensures that all dependents of that target have been evaluated and brought up to date. As soon as a target is deemed to be out of date, it is made available for rebuilding. A rebuild is initiated as soon as system resources allow. Depending on the availability of build hosts and load-balancing settings, this might happen immediately or be delayed.

When DO shopping/winkin occurs, clearmake postpones DO lookup for any target that has scheduled dependents until the target is encountered in the rebuild logic. When such a target is detected, clearmake then attempts the DO shopping/winkin only when the dependencies of the targets are completed. This delay eliminates unnecessary rebuilds in serial mode and allows a parallel clearmake to initiate rebuilds sooner.