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