This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Probably stupid make question


Well, this is just ducky. I'm posting this so it goes in the archives and maybe saves someone else a LOT of heartache.

Batch files treat incoming, unquoted equals signs as spaces!

For the cross-compiling I'm doing, I have to use a .BAT file (or equivalent), because the cross-compiler is two-stage -- it generates assembler from C, then must assemble that.

Thus my batch file to do the compiles gets invoked correctly as (say):

-DSOMETHING=AVALUE Banana.c

but the batch file sees this as:

-DSOMETHING AVALUE Banana.c

Quick, someone build me a time machine so I can go back and kill whoever implemented THAT (I know, get in line...)!

...phsiii

-----Original Message-----
From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com] On Behalf Of Christopher Faylor
Sent: Thursday, August 28, 2008 4:33 PM
To: cygwin@cygwin.com
Subject: Re: Probably stupid make question

On Thu, Aug 28, 2008 at 01:13:47PM -0700, Brian Dessent wrote:
>Phil Smith wrote:
>>We're perverting CMake and Cygwin make to use a cross-compiler for z/OS
>>(IBM mainframe).  We've beaten it mostly into submission, but are
>>hitting an issue with definitions being passed.  Cygwin make seems to
>>be passing them in the format:
>>
>>         -Dvarname value
>>
>> rather than:
>>
>>         -Dvarname=value
>>
>>and the cross-compiler doesn't like that much.  Some discussion with
>>more *IX-savvy friends suggests that the "blank" format is older, and
>>is deprecated due to ambiguity (does "-Dvarname abc.c xyz.c" mean "set
>>varname to abc.c and compile xyz.c", or "set varname to 1 and compile
>>abc.c and xyz.c"?).
>
>I think you're going to have to be more specific, such as providing a
>testcase that reproduces the problem.  This must be due to some aspect
>of cmake, because there's nothing in plain make (AFAIK) that has
>anything to do with how -D or any other parameter is passed to any tool
>-- make executes commands exactly as written in the Makefile, no more
>no less.

As the make maintainer, let me say:  What he said.

cgf

--
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/


--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]