* Jan Engelhardt wrote on Wed, May 27, 2009 at 09:12:44PM CEST:
> On Sunday 2009-05-24 15:24, Thomas Dickey wrote:
> >> all :
> >> echo $(XY_V)
> >>
> >> XY_V = $(XY_$(V))
> >> XY_0 = silent
> >> XY_1 = verbose
> >> XY_ = unknown
> >>
> >> I think this is supported by POSIX. POSIX [1] says: "Macros can appear
> >> anywhere in the makefile.".
> >
> > POSIX says that; however different implementations of 'make' treat
> > forward-references differently.
> Well that's when you would put XY_V last, just to be sure:
>
> XY_ = unknown
> XY_0 = silent
> XY_1 = verbose
> XY_V = $(XY_$(V))
>
> then there is no forward reference.
I wouldn't know a construct where the order of variable assignments is
treated differently by different make implementations. Can you give an
example, Thomas? Thanks.
The portability issue I was speaking about was purely about variable
references $(V) within "$(" and ")".
Cheers,
Ralf