bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: automake 1.7.1 dependency tracking regression?


From: Alexandre Duret-Lutz
Subject: Re: automake 1.7.1 dependency tracking regression?
Date: Thu, 28 Nov 2002 23:19:03 +0100
User-agent: Gnus/5.090008 (Oort Gnus v0.08) Emacs/20.7 (i386-debian-linux-gnu)

>>> "Matthias" == Matthias Andree <address@hidden> writes:

[...]

 Matthias> Scenario: we have a .h file in BUILT_SOURCES but not
 Matthias> in our program_SOURCES, and try to make a particular
 Matthias> target, not "all".

 Matthias> In the test case, "make bindir" (which is the only
 Matthias> target) on the cold directory (without any make
 Matthias> commands) will fail, unless someone types make alone
 Matthias> or make bindir.h first, but "make" alone will do the
 Matthias> job (it drags itself out by building BUILT_SOURCES
 Matthias> first).

Yes.  I'm quite confused, though, because this is nothing new
and unrelated to gcc3.  What was the last version that worked
for you?  I guess it was 1.4.  The new dependency tracking
scheme has been introduced in 1.5.

You can find an history of dependency tracking in Automake here
if you are interested:
   http://sources.redhat.com/automake/dependencies.html
(This text was published before 1.5 was released, most of the 
features it announces have been working for a while now.)

What you report is something that cannot be handled
automatically in the new scheme.

(And "automake 1.4" already had to use a dirty GNU-make specific hack
to support this in the "maintainer" mode, i.e. before make dist.)

[...]

 Matthias> The workaround is: list the generated header files in
 Matthias> _SOURCES, but that's not the meaning of dependency
 Matthias> tracking,

This isn't expected to work either.  

Instead you should write down the dependency explicitely.  
I.e., replace 

  BUILT_SOURCES=bindir.h

by

  bindir.$(OBJEXT): bindir.h
  CLEANFILES = bindir.h

[...]

-- 
Alexandre Duret-Lutz





reply via email to

[Prev in Thread] Current Thread [Next in Thread]