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: gcc build problem - make vpath


Dave Korn wrote:
On 03 October 2006 22:06, Michael Eager wrote:


  You mentioned '%' signs in environment variables and VPATH.  Bash and make
use a '$' to indicate a variable, and make uses '%' to indicate a
pattern-matching rule.  You're always going to give make a hard time, because
if it sees

%.c%.o: $(CC) ... blah ...
>
how is it going to know whether you're specifying a pattern matching rule for
generating any .o file from any .c file, or whether the DOS environment var
%.c% perhaps exists and contains the name of some <sourcefile> and this rule
is how to generate <sourcefile>.o ?

Actually, the %env% is only indirectly involved. It was used in the generation of a symbol in the makefile. Make never sees the %env% symbol, only a DOS path which has a drive specification, containing a ":". But it makes it essentially impossible to simply edit the makefile to remove the DOS path.

This ambiguity with ":" has been around for a long time.  I don't
know what kind of problems it may have caused.

The decision in make-3.81 was to remove support for DOS filenames.
That violated one of what I consider cardinal rules of backward
compatiblity:  it broke existing, working code, without providing
either (a) diagnostics, (b) deprecation warnings, or (c) options
to retain prior behavior.

I'm not interested in rehashing the issue, which has already
been discussed quite a bit.

  How did you actually write the configure and make command lines when it went
wrong?  Did you configure with one version of make and then try and build it
with the other?

Configure command is in a script. Pretty much as previously specified. Make is "make". Doesn't get much simpler.

A valid makefile should be handled by a working make.
There should be no problem with running configure with
one version of make and building with another.

The answer to my last question seems to be yes.  (Thanks
Matthew!)  I'll look into using William Hoffman's patched
version of make-3.81.

This should do the job.

Hope so.



-- Michael Eager eager@eagercon.com 1960 Park Blvd., Palo Alto, CA 94306 650-325-8077

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