[Top][All Lists]

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

[bug #37237] Second exapnsion with substitution confuse parser:

From: Paul D. Smith
Subject: [bug #37237] Second exapnsion with substitution confuse parser:
Date: Sun, 09 Sep 2012 20:06:24 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1

Update of bug #37237 (project make):

                  Status:                    None => Not A Bug              
             Open/Closed:                    Open => Closed                 


Follow-up Comment #1:

GNU make's behavior here is correct.  Because the ":" does not appear within a
known macro reference (because the "$" is escaped), it's treated as part of
the rule.  This makes the rule appear to be a static pattern rule, which is
missing a "%", and hence the error.  In other words, make parses this into
words as follows: "dir/hello.o", ":", "$$(@F", ":", and ".o=.c)".

To make this work right you need to escape the ":" from make, like so:

dir/hello.o: $$(@F\:.o=.c)

This works in CVS make but I'm not sure it will work in earlier versions;
there have been some issues with escaping in target and prerequisite lists.


Reply to this item at:


  Message sent via/by Savannah

reply via email to

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