The linux-info.eclass has a check_kernel_built() function that checks for the existence of System.map. linux-mod ebuilds use this function and bombs out if a fully built linux source tree exists. Why is this required? I always do a make clean of my linux source tree after building a kernel because it cleans up alot of disk space. From my understanding, kernel modules just need a properly prepared kernel tree, not a fully built kernel tree with the System.map file. Am I wrong? Up until recently, I've never needed a fully built kernel tree to build modules.
FYI, here's a comment from the kernel Makefile regarding make clean: # make clean Delete most generated files # Leave enough to build external modules
in many cases your right. the system.map check is a little crude and needs checking. CC'ing me in.
mostly fixed in cvs. should now work for you.