Penguin

DistCC is an Acronym for Distributed C Compiler.

distcc acts as a front end to the GCC suite and uses compilers on other boxes on your network to speed compilation.

To use you need to install the distcc Package on each machine.

You need to specify which hosts to use which also have distcc installed via something like this in your environment:

export DISTCC_HOSTS='localhost red green blue'

When I compile software with three (slow) machines I do the following:

make -j6 CC='distcc'

The -j6 is to tell make to use 6 parallel tasks (recommended is 2 per CPU).

This works brilliantly for most programs.

There are some tricks to getting this working for KernelDevelopment as first time I did this it stopped part way through and when I did a normal make it started all over from the beginning.

Some of the answers to these problems are in here:
http://lists.samba.org/archive/distcc/2005q1/002941.html
http://myrddin.org/howto/debian-distcc.php

You do need to have the exact same versions of the compiler on each machine for kernel compilation or else the build system starts again. (NB this also happens if you upgrade gcc between kernel builds - the whole tree is rebuilt).

It is also worth having a look at the http://distcc.samba.org/ page for more detailed instructions.

There is a package for Debian based systems called distccmon-gnome which shows you graphically what is going on and helps to see if you've got it going correctly.