Hi Eric, * Eric Blake wrote on Thu, Dec 02, 2010 at 06:14:28PM CET: > Good news! Today's Austin Group meeting included a review of > http://austingroupbugs.net/view.php?id=336, which is proposing that > $(var$(V)) as a way of choosing between $(var0) and $(var1) based on the > contents of $(V) be standardized in POSIX. If the 30-day interpretation > window starting today does not raise any objections (that is, if no one > complains of a counterexample existing make implementation that fails to > meet the proposed wording), then automake's silent-make implementation > will switch from exploiting unspecified behavior over to using a > POSIX-standardized feature.
Thank you very much for pursuing this! I'm not sure if it was mentioned before in the discussion, but portability-wise, there is a difference between one level of recursion and arbitrary many. IIRC then IRIX make only supported one level, i.e., $(var1$(var2$(var3))) was erroneous, but $(var1$(var2)) was not. Also, with a one-character variable X $(var$X) was erroneous with at least one legacy make implementation (but I think it was more than one); but $(var$(X)) worked. If you like, I can go back and verify the details. Cheers, Ralf