On 2010.01.26 17:25, Peng Yu wrote:
On Wed, Jan 27, 2010 at 3:30 AM, Oleksandr Gavenko<[email protected]> wrote:
From info make "10.5.3 Automatic Variables":
$^
The names of all the prerequisites, with spaces between them. For
prerequisites which are archive members, only the member named is used (see
Archives). A target has only one prerequisite on each other file it depends
on, no matter how many times each file is listed as a prerequisite. So if
you list a prerequisite more than once for a target, the value of $^
contains just one copy of the name. This list does not contain any of the
order-only prerequisites; for those see the `$|' variable, below.
$|
The names of all the order-only prerequisites, with spaces between them.
I read the explanations before I posted the original. But they are not
clear to as there is no definition on what "order-only" mean? Does it
mean that $^ does not necessarily preserve the order but $| does?
Also, I suggest to revise the explanation to make it clear.
Ok. Question open, but just use:
$+
This is like `$^', but prerequisites listed more than once are
duplicated _in_the_order_they_were_listed_in_the_makefile. This is
primarily useful for use in linking commands where it is meaningful to
repeat library file names in a particular order.
--
С уважением, Александр Гавенко.
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make