Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 28 Oct 2002 17:25:51 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 28 Oct 2002 17:25:50 -0500 Received: from chaos.physics.uiowa.edu ([128.255.34.189]:13012 "EHLO chaos.physics.uiowa.edu") by vger.kernel.org with ESMTP id ; Mon, 28 Oct 2002 17:25:48 -0500 Date: Mon, 28 Oct 2002 16:32:07 -0600 (CST) From: Kai Germaschewski X-X-Sender: kai@chaos.physics.uiowa.edu To: Rob Landley cc: linux-kernel@vger.kernel.org Subject: Re: 2.5.44: what's .tmp_export-objs for? In-Reply-To: <200210281054.16008.landley@trommello.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1600 Lines: 37 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 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/