#28 Version 1.5 and higher do not parse $(if properly

pending
nobody
None
5
2012-02-25
2012-02-23
Yuri
No

The attached code is correctly parsed and executeg by gnu make, makepp 1.40.
makep 1.50 and 2.0rc expand $(if incorrectly.

Discussion

  • Yuri
    Yuri
    2012-02-23

    This code exposes the error.

     
    Attachments
  • The problem is not if, but the nested (). This is an unfortunate consequence of a decision we made many years ago. I'm adding this to the doc for now:

    Parentheses or braces don't nest

    Makepp ends expressions at the first matching parenthesis or brace. Instead
    of this

    $(somefunction ... ( ) ...) # Gnu make style

    you must use either of these

    ${somefunction ... ( ) ...} # Gnu make compatible
    $((somefunction ... ( ) ...)) # Makepp extension

    This will probably be fixed in version 2.1, maybe optionally.

     
    • status: open --> pending