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

Reply via email to