[Top][All Lists]
[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