[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: makes which break with `silent-rules'
From: |
Jan Engelhardt |
Subject: |
Re: makes which break with `silent-rules' |
Date: |
Wed, 27 May 2009 21:12:44 +0200 (CEST) |
User-agent: |
Alpine 2.00 (LSU 1167 2008-08-23) |
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.