automake
[Top][All Lists]
Advanced

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

Re: 27-fixsubdirs-am.patch


From: Tom Tromey
Subject: Re: 27-fixsubdirs-am.patch
Date: 07 Feb 2001 22:37:52 -0700

Tom> Note that the clean-am rules are run from the clean-recursive
Tom> rules in subdirs.am.  That happens so that we can force the
Tom> ordering, and it is important.  This is true for the ordinary
Tom> (all, install, etc) -recursive rules in subdirs.am as well.

Akim> !!!

Akim> Do we have specific tests?  Are the rules written down
Akim> somewhere?  Can't we imagine having some higher level construct
Akim> specifying the constraints over the ordering instead of relying
Akim> on the order in which things are processed?

I'm not sure I understand.

There are two problems here.  One is that we tell users that they can
force the ordering by rearranging SUBDIRS.  So this is a feature, and
we can't really just ditch it.  The other problem is that arranging
the ordering any other way is complicated to implement, I think.

I don't see anything hugely wrong with the current approach here.  It
took us a long time to get it to this point.  Changes with subdir
processing should be approached with caution.

Akim> I have a question: sometimes I see `&defined_variable
Akim> ('SUBDIRS')', and sometimes $recursive_install, and I couldn't
Akim> determine the relationship between the two.  Aren't they the
Akim> same?

I don't really remember $recursive_install :-(.  Anyway it is set in
&handle_subdirs, which is called fairly late.  We should probably
either ditch it, or rename it and set it very early in
&generate_makefile.


In the very long term I'd like to see automake move to a single
Makefile model.  The idea is we'd have Makefile.am in each
subdirectory, as now, but we'd generate a single large Makefile.in
with complete cross-directory dependency information.

This would be a step towards my ideal build system, which,
unfortunately, cannot be implemented using `make'.  My very very long
term goal is to eliminate make and automake and replace them with
something sensible.

Tom



reply via email to

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