Each distribution has some specific tools to build a custom kernel from the sources. This article is about compiling a kernel on a Debian Etch system.
Read more at Howtoforge
It describes how to build a custom kernel using the latest unmodified kernel sources from www.kernel.org (vanilla kernel) so that you are independent from the kernels supplied by your distribution. It also shows how to patch the kernel sources if you need features that are not in there.