[SOLVED] Re: cygwin's [g]make 3.81 seems not to understand conditionals

Carlo Florendo subscribermail@gmail.com
Thu Jul 19 04:30:00 GMT 2007


Carlo Florendo wrote:
> David Rothenberger wrote:
>> On 7/18/2007 9:03 PM, Carlo Florendo wrote:
>>> I've got (and attached) this simple Makefile that checks the build 
>>> platform of a machine.
>>>
>>> Here's the cut-and-pasted content of the Makefile:
>>>
>>> PLATFORM=$(shell uname -s | cut -f 1 -d " " | cut -f 1 -d "_");
>>
>> Try removing the trailing semicolon. It is not removed by make, so 
>> PLATFORM ends up being "CYGWIN;".
> 
> Bingo.  That did it!
> 
> So does that mean that make 3.80 was wrong then?

Please ignore this, sorry.  Both have the correct behaviour.

When expanded under Linux, the make statements become

ifeq ("Linux;", "CYGWIN)
     echo cygwin;
else
     echo linux;
endif

it will "correctly" output "linux"  but it got to the else conditional only 
because "Linux;" != "CYGWIN.

The trailing semi-colon confused me.  I was treating the Makefile as a bash 
script.


Thanks, David!

Best Regards,

Carlo

-- 
Carlo Florendo
Softare Engineer/Network Co-Administrator
Astra Philippines Inc.
UP-Ayala Technopark, Diliman 1101, Quezon City
Philippines
http://www.astra.ph

--
The Astra Group of Companies
5-3-11 Sekido, Tama City
Tokyo 206-0011, Japan
http://www.astra.co.jp

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list