From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8064 invoked by alias); 8 Dec 2002 22:39:10 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 8026 invoked from network); 8 Dec 2002 22:39:08 -0000 Received: from unknown (HELO mailout6-0.nyroc.rr.com) (24.92.226.177) by sources.redhat.com with SMTP; 8 Dec 2002 22:39:08 -0000 Received: from twcny.rr.com (syr-66-66-30-119.twcny.rr.com [66.66.30.119]) by mailout6-0.nyroc.rr.com (8.11.6/RoadRunner 1.20) with ESMTP id gB8Md5k06306; Sun, 8 Dec 2002 17:39:05 -0500 (EST) Message-ID: <3DF3C9D7.90204@twcny.rr.com> Date: Sun, 08 Dec 2002 14:40:00 -0000 From: Nathanael Nerode User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2b) Gecko/20021108 X-Accept-Language: en-us, en MIME-Version: 1.0 To: DJ Delorie , rth@redhat.com, ac131313@redhat.com, binutils@sources.redhat.com, gdb-patches@sources.redhat.com, gcc-patches@sources.redhat.com Subject: Re: re-re-re-re-configuring References: <20021206102555.GA15028@redhat.com> <200212061850.gB6Io3m26371@greed.delorie.com> In-Reply-To: <200212061850.gB6Io3m26371@greed.delorie.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2002-12/txt/msg00261.txt.bz2 DJ Delorie wrote: >>So who broke the make dependencies such that we >>re-run configure *every* time you type "make"? > > > I debugged this, and the dependencies look right, almost (sigh). > Basically, it boils down to this: > > .PHONY: configure-libiberty maybe-configure-libiberty > maybe-configure-libiberty: > configure-libiberty: libiberty/Makefile > > Considering target file `all-libiberty'. > File `all-libiberty' does not exist. > Considering target file `configure-libiberty'. > File `configure-libiberty' does not exist. > Considering target file `libiberty/Makefile'. > Pruning file `config.status'. > Pruning file `intl/Makefile'. > Finished prerequisites of target file `libiberty/Makefile'. > Prerequisite `config.status' is older than target `libiberty/Makefile'. > Prerequisite `intl/Makefile' is older than target `libiberty/Makefile'. > No need to remake target `libiberty/Makefile'. > Finished prerequisites of target file `configure-libiberty'. > Must remake target `configure-libiberty'. > Successfully remade target file `configure-libiberty'. > Finished prerequisites of target file `all-libiberty'. > Must remake target `all-libiberty'. > > So, even though configure-libiberty is .PHONY and its prereqs are OK, > it gets "rebuilt" anyway. Consequently... > > Considering target file `bfd/Makefile'. > Pruning file `config.status'. > Pruning file `configure-libiberty'. > Pruning file `opcodes/Makefile'. > Finished prerequisites of target file `bfd/Makefile'. > Prerequisite `config.status' is older than target `bfd/Makefile'. > Prerequisite `configure-libiberty' of target `bfd/Makefile' does not exist. > Prerequisite `opcodes/Makefile' is older than target `bfd/Makefile'. > Must remake target `bfd/Makefile'. > > Even though configure-libiberty is .PHONY, it was "rebuilt" and so > bfd/Makefile must also be rebuilt. Arrrr. Right. Phony target problem. :-/ > > I did a test changing this line: > > bfd/Makefile: configure-libiberty > > to this: > > configure-bfd: configure-libiberty > > and it seems to work. I'll work up a patch. > And the reason I didn't do this was due to a different bug. If libiberty is changed, then since configure-bfd: configure-libiberty configure-bfd: bfd/Makefile bfd/Makefile won't be regenerated. The correct solution is to change it to bfd/Makefile: libiberty/Makefile which I will work up a simple patch for if nobody beats me to it. (I'll replace all maybe-configure-X: configure-X dependencies with maybe-configure-X: X/Makefile dependencies.)