bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bugs fixed in -bk4


From: Sam Ravnborg
Subject: Re: bugs fixed in -bk4
Date: Sat, 26 Jun 2004 23:48:19 +0200
User-agent: Mutt/1.4.1i

On Sat, Jun 26, 2004 at 04:18:06PM -0500, Boris Kolpackov wrote:
> 
> Another patch, which I think you may be interested in, is
> pattern-specific-expansion.patch. Here is the description:
> 
>     The following makefile prints 'B' instead of 'A'.
> 
>       a := A
> 
>       %bar : arg := $a
>       %bar : ; @echo $(arg)
> 
>       a := B
> 
>       foobar:
> 
>     
>     The patch adds additional expansion at pattern definition 
>     point for simple variables (i.e. declared with :=). Also 
>     note that you can inhibit this additional expansion if 
>     you want to:
> 
> 
>       %bar : arg := $a $$a
> 
>    
>     With this change the makefile above prints 'A B'.
> 
> 
>From info make:
>>>>>>>>>>>>>>>>>>>>>
Rule Definition
---------------

   A rule is always expanded the same way, regardless of the form:

     IMMEDIATE : IMMEDIATE ; DEFERRED
        DEFERRED

   That is, the target and prerequisite sections are expanded
immediately, and the commands used to construct the target are always
deferred.
>>>>>>>>>>>>>>>>>>>>>>>

Given the above information from info make I agree with Boris on this.
Both 'a' and 'arg' should be considered IMMEDIATE according to the snippet
included.

        Sam




reply via email to

[Prev in Thread] Current Thread [Next in Thread]