Distributing Makefile Builds

Using the XGE Interfaces extension package, IncrediBuild can be used to distribute execution of make-based builds. As with all distributed IncrediBuild jobs, all remotely performed tasks fully emulate the initiating machine's environment and file system, eliminating the need to copy files or install applications on remote machines.

Distributing Make Tools Supporting Local Parallel Task Execution

Many make tools support a mode of operation which allows execution of several processes in parallel, taking advantage of multiple cores/processors (for a list of common make tools supporting local parallel task execution see this section). Using the Automatic Interception Interface, execution of these tools can be accelerated without requiring any changes to the makefile content. This is achieved by intercepting execution of specific processes run by the make tool, and distributing their execution using the Xoreax Grid Engine.

Distributing Other Make Tools

Make tools that do not support local parallel task execution can be accelerated using the Submission Interface. This involves modifying the makefiles to call xgSubmit.exe instead of the tools whose execution we wish to distribute. xgWait.exe is used to pause the build execution in relevant places, forcing dependent tasks to run in order. Finally, the make tool itself is called using xgConsole.exe.

If your build consists of several independent makefiles, another alternative is to use the Submission Interface to build each makefile on a separate machine in parallel to others. This approach eliminates the need to modify makefile contents, at the cost of decreased potential for parallelization.

Copyright (C) 2001-2008 Xoreax Software Ltd. All rights reserved.
Converted from CHM to HTML with chm2web Standard 2.7 (unicode)