Alexey Neyman <[EMAIL PROTECTED]> writes:

>    Then VARIABLE is expanded as a `make' variable in the context of
> these temporary assignments.  Thus, any reference to `$(1)' in the
> value of VARIABLE will resolve to the first PARAM in the invocation of
> `call'.
>
> (note the last paragraph, it says that VARIABLE is always expanded).

You can read this both ways. Your variable is simple (non-recursive) so
its value has already been expanded thus make thinks there is not need
to waste time and re-expand it again.

Compare

a := $$1            # first expansion
b := $a             # b is `$1'
c := $(call a,x)    # c is `$1'

to

a = $1
b := $a             # b is `'
c := $(call a)      # c is `'

As you can see there is some symmetry in current logic. Now having said
that I tend to agree that the first case is somewhat surprising at the
least and should be fixed. Paul seems to disagree with this, however.

hth,
-boris



_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to