so when you install a module, you are inserting into current running Kernel. If you needed to compile some archaic POS that wasnt a module and didnt understand the architecture into the kernel, the $INCLUDE_DIRS would contain all the headers for your modules and so would build without issue along with the archaic POS.
thanx,
bill