[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Recursive targets for the user
From: |
Ralf Wildenhues |
Subject: |
Re: Recursive targets for the user |
Date: |
Mon, 2 Aug 2010 20:28:47 +0200 |
User-agent: |
Mutt/1.5.20 (2010-04-22) |
Hi Stefano,
* Stefano Lattarini wrote on Mon, Aug 02, 2010 at 12:10:10PM CEST:
> At Sunday 01 August 2010, Ralf Wildenhues wrote:
> > So, here's the deal: currently, Automake has
> > RECURSIVE_TARGETS
> > RECURSIVE_CLEAN_TARGETS
> > AM_RECURSIVE_TARGETS
> Is there any good reason (apart from naybe backward-compatibility)
> for keeping these as three separate variables?
Well, yes. clean targets need to a different subdir traversal order,
and currently, the latter lists more than the sum of the former: it
also lists targets that invoke `make' recursively within the same
directory. The latter is needed in some cases (mostly for hidden
dependencies), and listing them is needed in order to avoid unwanted
parallel execution; writing a section about this necessity has been
on my todo list for a while: the deal is that you should not run
make -jN T1 T2
if both T1 and T2 are listed in $(AM_RECURSIVE_TARGETS).
And yes, backward compatibility is very important, too. I've checked
codesearch now, these variables are used elsewhere already. :-/
> >
> > 1) What to name them?
> > RECURSIVE_USER_TARGETS
> > RECURSIVE_USER_CLEAN_TARGETS
> > ALL_RECURSIVE_USER_TARGETS
> What about `EXTRA_RECURSIVE_TARGETS' etc. instead?
Ah, that's a good idea; thanks.
> Also, I'd like to have a way to specify a recursive targers which
> should recurse in a limited set of a projects' subdirectories, and not
> in all of $(SUBDIRS). Do you think this would be possible/worthwhile?
Can you give an example what this would be good for? My idea was that
if the user adds a recursive target but then doesn't specify an *-am
rule in some directory, that the rule would just traverse that directory
without doing anything by default. So your suggestion would be
optimization only, right?
Thanks,
Ralf