Re: kbuild 2.5 is ready for inclusion in the 2.5 kernel

Keith Owens
2002-05-03T12:07:31Z

On Fri, 3 May 2002 01:33:34 -0700 (PDT),
Vikram <vvikram@stanford.edu> wrote:
><snip>
>ccache is a compiler cache. It acts as a caching pre-processor to C/C++
>compilers, using the -E compiler switch and a hash to detect when a
>compilation can be satisfied from cache. This often results in a 5 to 10
>times speedup in common compilations
></snip>
>
>http://ccache.samba.org/

Firstly kbuild 2.5 removes the need to make clean or make mrproper for
most compilations. You need to make mrproper when changing to a new
architecture in the same directory (it is much better to use a separate
object directory for each architecture), but apart from that you should
not need to make clean or mrproper. IMNSHO having to issue make clean
is a sign that your build system is broken, relying on human
intervention in an automated build is falt out wrong. Automatic
detection of an arch switch is on the enhancement list for kbuild 2.5.

Secondly kbuild 2.5 keeps objects that were built but are not currently
selected, it just does not link or install them. Build a kernel,
disable a set of drivers, build the kernel and it will just bump the
version number and relink vmlinux. Enable the drivers again, kbuild
2.5 does not need to compile them, they are still there, it just bumps
the version number and relinks vmlinux. Same with installing modules.
Various .tmp files list the objects and modules required for the
current .config.

So kbuild 2.5 removes the need to make clean after patches, changing
configs, etc. It gets it right without human intervention.