IncrediBuild for Make and Other Build Tools

IncrediBuild for Make and Other Build Tools

By harnessing idle CPU time across machines in the local network or cloud, IncrediBuild can dramatically accelerate Make-based builds or other build engines (such as SCons, Jam, jom, Ant, and gmake). Running out-of-the-box with many popular tools, IncrediBuild can easily accelerate build tools, compilers, and any time consuming task that you execute as part of your asset build, requiring little or no changes to the makefile contents. IncrediBuild can extend its capability according to  your Make script to also accelerate other things that are part of your set build, for example unit testing, packaging, regression tests and more.

Speeding up Makefile Builds

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.

Accelerating Make Tools Supporting Local Parallel Task Execution

Many Make tools support a mode of operation that allows execution of several processes in parallel, taking advantage of multiple cores/processors.

These tools allow you to do one of the following:

For example: In Make, specifying -J 4 indicates to the Make build tool to execute a maximum of four tasks in parallel on your machine. Specifying -J without a number indicates to the Make tool to automatically identify the number of cores that you have on your local machine and execute tasks in parallel according to that number of cores.

With IncrediBuild, it is recommended to specify a very large number for -J. For example, -J 100. This instructs the Make tool to execute 100 tasks in parallel, as though you have 100 cores on your local machine. IncrediBuild receives these maximum number of 100 tasks that the Make tool executed in parallel, and redistributes these tasks to the cores in your network. It is recommended that you experiment with the -J switch to find the  number for your build that gives the best performance results.

Accelerating Microsoft NMAKE and other Make Tools

Make tools that do not support local parallel task execution can be accelerated using the Submission Interface and a set of utility batch files.
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.

Supported Make and Build Tools

See here a complete list of Make and Build tools and compilers. 

Graphic Monitor

IncrediBuild provides a graphic monitor that enables you to analyze your build, as opposed to regular Make tools that only provide output with a textual representation of the build process that is more difficult to analyze. With IncrediBuild, you get a complete graphical representation of the build process (tasks and processes), allowing you to better detect errors and find bottlenecks in your build.

IncrediBuild allows you to further extend its capability to accelerate uncommon tasks that are part of your Make process. For example, common tasks that IncrediBuild distributes in a Make-based build are GCC compiler and other compilers that are supported out-of-the-box. However, some projects have very time-consuming custom tools that are executed as part of the build, such as rendering, encoding, compression, and custom compilers. You can extend IncrediBuild functionality to also distribute these uncommon tasks by specifying a specific profile that allows IncrediBuild to extend the tools that it knows how to distribute.