From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Speeding up the bootstrap build - a quick hack. Date: Wed, 19 Jan 2022 09:34:46 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8551"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Wed Jan 19 15:44:30 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nACCM-000205-Ct for ged-emacs-devel@m.gmane-mx.org; Wed, 19 Jan 2022 15:44:30 +0100 Original-Received: from localhost ([::1]:43814 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nACCL-0006hI-3j for ged-emacs-devel@m.gmane-mx.org; Wed, 19 Jan 2022 09:44:29 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:50442) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAC3D-0005n7-0P for emacs-devel@gnu.org; Wed, 19 Jan 2022 09:35:03 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:46333) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAC34-00074m-N6 for emacs-devel@gnu.org; Wed, 19 Jan 2022 09:35:02 -0500 Original-Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id DC7568060E; Wed, 19 Jan 2022 09:34:49 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 699D580401; Wed, 19 Jan 2022 09:34:48 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1642602888; bh=psrahCs4f4mIqOfiFluvwp8uxWNOEKg5hkB1FuQV998=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=FqdBz+MBvET61/gESOnCmzOwIvwFE/7pQLcr+ZOA47EOandTxDK6pblL1/dsohyld aCk/pFnGWniVCDP+AOTuij0XNFnO+XobMp3KXToYXKd2XoEYD1dI5aJg8N1syWl20l qDzgoXQyIXYpKuogBJ1jleuR5hUm+b9DMF5NAogc7ZQWqhuD3k4LNS1MgjnOcPwBf8 kPXGhmjqBnQDiUGdb3jLuEfM6nDnp9ca0p/I2w9rUI5ePDFnF4nOdgeHdbaEJOXhba aDhoHK3esWDiTvmqcvUaC9Z1anBAgslpwdBRkpTf6m5ksZcGRGjq8C7DBinezP+IGq FdwOO4MI7tTrw== Original-Received: from pastel (unknown [216.154.30.173]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 22E21120263; Wed, 19 Jan 2022 09:34:48 -0500 (EST) In-Reply-To: (Alan Mackenzie's message of "Wed, 19 Jan 2022 11:50:43 +0000") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:284977 Archived-At: > I don't understand at all what's happening. Maybe it's something to do > with compile-zeroth being declared .PHONY. It also might have to do with > make somehow regarding *.elc0 as "intermediate files", and is thus "safe" > to delete them (four times deleted in total). Maybe it's related to the following part of Make's info: Sometimes a file can be made by a sequence of implicit rules. For example, a file 'N.o' could be made from 'N.y' by running first Yacc and then 'cc'. Such a sequence is called a "chain". [...] The second difference is that if 'make' _does_ create B in order to update something else, it deletes B later on after it is no longer needed. Therefore, an intermediate file which did not exist before 'make' also does not exist after 'make'. 'make' reports the deletion to you by printing a 'rm -f' command showing which file it is deleting. In that case, I think we can address this with .PRECIOUS: $(COMPILE_ZEROTH) -- Stefan