Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Re: re-re-re-re-configuring
       [not found] ` <200212061850.gB6Io3m26371@greed.delorie.com>
@ 2002-12-08 14:40   ` Nathanael Nerode
  2002-12-08 16:12     ` re-re-re-re-configuring DJ Delorie
  2002-12-08 19:28     ` re-re-re-re-configuring Daniel Jacobowitz
  0 siblings, 2 replies; 4+ messages in thread
From: Nathanael Nerode @ 2002-12-08 14:40 UTC (permalink / raw)
  To: DJ Delorie, rth, ac131313, binutils, gdb-patches, gcc-patches

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.)


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: re-re-re-re-configuring
  2002-12-08 14:40   ` re-re-re-re-configuring Nathanael Nerode
@ 2002-12-08 16:12     ` DJ Delorie
  2002-12-08 19:28     ` re-re-re-re-configuring Daniel Jacobowitz
  1 sibling, 0 replies; 4+ messages in thread
From: DJ Delorie @ 2002-12-08 16:12 UTC (permalink / raw)
  To: neroden; +Cc: binutils, gdb-patches, gcc-patches


> 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.

But I tested that specific case, and it worked fine.

I'll try it again.  Full build twice, second time nothing happens.
Remove libiberty/Makefile and "make" again...

$ grep 'Configuring in' /tmp/foo
Configuring in libiberty
Configuring in opcodes
Configuring in bfd
Configuring in binutils
Configuring in gas
Configuring in ld
Configuring in gprof
Configuring in etc
Configuring in utils

Same thing if I just do "touch libiberty/Makefile".

I wonder if it's something gnu-make specific.

No, wait... bfd/Makefile depends on opcodes/Makefile, which then
depends on libiberty/Makefile.

Ok, feel free to change all the configure:configure dependencies to
Makefile:Makefile dependencies.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: re-re-re-re-configuring
  2002-12-08 14:40   ` re-re-re-re-configuring Nathanael Nerode
  2002-12-08 16:12     ` re-re-re-re-configuring DJ Delorie
@ 2002-12-08 19:28     ` Daniel Jacobowitz
  2002-12-08 20:38       ` re-re-re-re-configuring DJ Delorie
  1 sibling, 1 reply; 4+ messages in thread
From: Daniel Jacobowitz @ 2002-12-08 19:28 UTC (permalink / raw)
  To: Nathanael Nerode; +Cc: DJ Delorie, binutils, gdb-patches, gcc-patches

On Sun, Dec 08, 2002 at 05:38:15PM -0500, Nathanael Nerode wrote:
> 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.)

So, um, silly question.  Why does changing libiberty require that
bfd/Makefile be regenerated?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: re-re-re-re-configuring
  2002-12-08 19:28     ` re-re-re-re-configuring Daniel Jacobowitz
@ 2002-12-08 20:38       ` DJ Delorie
  0 siblings, 0 replies; 4+ messages in thread
From: DJ Delorie @ 2002-12-08 20:38 UTC (permalink / raw)
  To: drow; +Cc: neroden, binutils, gdb-patches, gcc-patches


> So, um, silly question.  Why does changing libiberty require that
> bfd/Makefile be regenerated?

Because bfd/Makefile does this:

x=`sed -n -e 's/^[     ]*PICFLAG[      ]*=[    ]*//p' < ../libiberty/Makefile | tail -1`


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2002-12-09  3:30 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20021206102555.GA15028@redhat.com>
     [not found] ` <200212061850.gB6Io3m26371@greed.delorie.com>
2002-12-08 14:40   ` re-re-re-re-configuring Nathanael Nerode
2002-12-08 16:12     ` re-re-re-re-configuring DJ Delorie
2002-12-08 19:28     ` re-re-re-re-configuring Daniel Jacobowitz
2002-12-08 20:38       ` re-re-re-re-configuring DJ Delorie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox