automake
[Top][All Lists]
Advanced

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

Re: Recursive targets for the user


From: Stefano Lattarini
Subject: Re: Recursive targets for the user
Date: Mon, 2 Aug 2010 12:10:10 +0200
User-agent: KMail/1.13.3 (Linux/2.6.30-2-686; KDE/4.4.4; i686; ; )

Hello Ralf.

At Sunday 01 August 2010, Ralf Wildenhues wrote:
> Somebody suggested to me (was that you, Ludo?) that Automake should
> really allow the user to easily add recursive targets.
> 
> This is fairly trivial to implement, the biggest complication is
> name calling.
> 
> 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?

> where the last is the union of the first and then some more, none
> of them are public interfaces, but at least the latter is used by,
> e.g., coreutils, to prevent invoking more than one of the
> recursive targets at once with parallel make.  Lastly, the deal is
> that each $target requires a non-pubic $target-am rule to actually
> do the work for the directory.
> 
> We cannot easily have Automake-defined variables to which the users
> add to (with +=), so let's have two sets of variables.  Questions:
> 
> 1) What to name them?
>   RECURSIVE_USER_TARGETS
>   RECURSIVE_USER_CLEAN_TARGETS
>   ALL_RECURSIVE_USER_TARGETS
> 
> or have the USER_ before RECURSIVE_?
What about `EXTRA_RECURSIVE_TARGETS' etc. instead?

> 2) Whether to rename the above and reuse the names for the user
> (cleaner interface but backward incompatible)?  So the internal
> one's would be, say,
> 
>   am_RECURSIVE_TARGETS
>   am_RECURSIVE_CLEAN_TARGETS
>   am_ALL_RECURSIVE_TARGETS
> 
> 3) Whether to document the s/$/-am/ rule for the per-directory
> target so it then also holds for user-provided recursive rules.
> (If yes, then we could share the rule code text between both.)
> 
> Comments?

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?

Regards,
   Stefano



reply via email to

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