[Top][All Lists]

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

Re: bug report

From: Sandeep Nema
Subject: Re: bug report
Date: Mon, 05 Jan 2004 08:48:59 -0700

please see my response/clarification below in bold with ---->

>>> "Paul D. Smith" <address@hidden> 01/05/04 10:08AM >>>
%% "Sandeep Nema" <address@hidden> writes:

  sn> GNU make version: 3.80
  sn> O/S: AIX 5.0

  sn> We used "?:" macro substitution on tru64 platform with their
make, and
  sn> it works as following:

  sn> X=  $(EXCLUDE_X?:$(TMP_ADD_X))
  sn> in the above if EXCLUDE_X is defined then X will be empty, if
  sn> defined it will be equal to  TMP_ADD_X.

What does "defined" mean here?  Does it mean "has some non-empty
or does it mean "has been set in any way, including to the empty

-----> has been set in any way, including to the empty value

  sn> This does not give any error while making with GNU make on AIX,
  sn> but does not work, i.e. does not substitute X with TMP_ADD_X.

Correct.  This syntax is not supported by GNU make.

  sn> I feel, if there is no "?:" operator, it should give a syntax
  sn> error.

Why would it give a syntax error, when that's not a syntax error?

----->  You mentione in your previous answer that "?:" is not supported
syntax, shouldn't it give any kind of  error if its used in the

  sn> Do you have any shorter alternative in GNU make other than
  sn> "ifdef".

Since you didn't specify exactly what behavior "?:" provides I can't
for sure, but look up the ?= assignment operator in the GNU make

X = $(EX_X?:ADD_X))

if EX_X is NOT defined, X = ADD_X
else X contains an empty value.

 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org

 "Please remain calm...I may be mad, but I am a professional." --Mad

reply via email to

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