Subject: Re: Syntax of :? in Makefiles
To: None <>
From: Klaus Heinz <>
List: tech-userlevel
Date: 05/25/2007 22:36:37
Bill Stouder-Studenmund wrote:
> On Sat, May 19, 2007 at 07:00:07PM +0200, Klaus Heinz wrote:

> >   	echo ${empty(TESTVAR:Mbla):?true:false}
> > 
> > make: Bad conditional expression `empty(TESTVAR' in empty(TESTVAR?true:false
> > 
> > The missing closing parenthesis probably hints at some bug.
> I think you want ${TESTVAR:Mbla} but I'm not sure. Did you get an answer 
> on this?

No, so far nobody else commented on the message.

I recently discovered :? and the test case is only that, a test case. Of
course the test above could be expressed as

  .if empty(TESTVAR:Mbla)
        echo true
        echo false

Either the man page is misleading and expressions cannot generally be
used with this :? syntax or there is a bug in parsing the expressions.
I suspect the latter.