[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-kernel
Subject:    Re: 2.5.44: what's .tmp_export-objs for?
From:       Kai Germaschewski <kai () tp1 ! ruhr-uni-bochum ! de>
Date:       2002-10-28 22:32:07
[Download RAW message or body]

On Mon, 28 Oct 2002, Rob Landley wrote:

> I accidentally did a 2.5.44 kernel build as root rather than my normal user, 
> so I'm trying to see what clean steps I need to so (as root) to be able to 
> build the tree again.  A normal make clean failed (permission denied deleting 
> files), so I did an su and a make clean.  Exit back to normal user, make 
> clean, life is good, do a make dep, and it complains about the directory 
> .tmp_export-objs.
> 
> 1) Why does the build process use a hidden directory?

The "make dep" stage generates .ver files for all files listed in 
*/Makefile:export-objs. At the same time, it creates a zero-length file
corresponding to each .ver file in .tmp_export-objs, which are needed to 
afterwards construct include/linux/modversions.h, which is basically

	#include <linux/module/path/obj.ver>

for all objects we created the .ver files for earlier. Basically,
.tmp_export-objs is a complicated way to create a list of filenames,
the reason we cannot just append names to one file is that multiple
'make's may run in parallel (make -j), so that appending to a single file
would be racy.

> 2) Why isn't make clean removing something with "tmp" in the name?

Well, for some traditional reasons, there is a distinction between
"make clean" and "make mrproper", where only the latter really removes 
everything.

--Kai

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic