RE: File timing bug

2008-06-10 Thread Herbert Euler

> (I know from experience that you have to tell make about when you update
> targets that make knows about but I can't quote from the manual to
> support that de jure.  (And I believe that the only way you can safely
> update multiple targets from a single rule is if it's a Pattern Rule but
> not a Static Pattern Rule.)  I was rather hoping I'd provoke a more
> authoritative response from one of the real gurus but perhaps the
> warnocking should be taken as agreement.)

Well, I think I am just unlucky.  There are many times, that I follow
a (free) software's document but do not get expected result.  If I had
enough time and knowledge, I would like to track them down and post
with patches.  But sadly I cannot.  Hope some day fortune would come
with me.

Anyway, I now understand that what I posted is not a bug, since it is
not Make's business.  Thank you again for the information.

Regards,
Guanpeng Xu
_
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


RE: File timing bug

2008-06-09 Thread Herbert Euler

> This example is certainly simple, thanks.
> 
> The Makefile isn't telling make that the rule for making c from d will
> also update b.  Make caches modification times and doesn't know to
> invalidate its cache of b's time.

Thank you for the information.  So I think it is Makefile.in from GNU
Automake that need modified for the expected behavior.  I'll write to
Automake's mailing list.

Regards,
Guanpeng Xu
_
Invite your mail contacts to join your friends list with Windows Live Spaces. 
It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make


RE: File timing bug

2008-06-09 Thread Herbert Euler

Hi,

Perhaps due to my long and annoying description, one has difficulty in
understanding what the problem I encountered was.  Here I would
provide a much shorter description.

GNU Automake generates dependency tree like this in Makefile.in:

  [EMAIL PROTECTED]:~/tmp/k$ cat Makefile
  a: b
  cat b>a
  b: c
  c: d
  date>b
  cp b c
  [EMAIL PROTECTED]:~/tmp/k$

Its intention is to regenerate `a' when `d' is updated.  But this does
not work, since it requires `make' to be executed twice:

  [EMAIL PROTECTED]:~/tmp/k$ make
  date>b
  cp b c
  [EMAIL PROTECTED]:~/tmp/k$ make
  cat b>a
  [EMAIL PROTECTED]:~/tmp/k$

However, I noticed that if the Makefile looks like this:

  [EMAIL PROTECTED]:~/tmp/k$ cat Makefile
  a: b
  cat b>a
  b: c
  cp c b
  c: d
  date>c
  [EMAIL PROTECTED]:~/tmp/k$

Everything works as expected:

  [EMAIL PROTECTED]:~/tmp/k$ touch d
  [EMAIL PROTECTED]:~/tmp/k$ make
  date>c
  cp c b
  cat b>a
  [EMAIL PROTECTED]:~/tmp/k$

Is this a bug in GNU make, or a bug in GNU Automake?

Regards,
Guanpeng Xu
_
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE


___
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make