On Sunday 2009-05-24 15:24, Thomas Dickey wrote: > On Sun, 24 May 2009, Bruno Haible wrote: > >>> - The `silent-rules' option enables Linux kernel-style silent build output. >>> This option requires the widely supported but non-POSIX `make' feature >>> of recursive variable expansion, >> >> We are talking about constructs like this: >> >> ====== Makefile ====== >> 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.