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.