make-w32
[Top][All Lists]
Advanced

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

Re: Query regarding make error [target pattern contains no `%']


From: J. Grant
Subject: Re: Query regarding make error [target pattern contains no `%']
Date: Wed, 28 Jan 2004 00:32:25 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5b) Gecko/20030824


Thank you for the clarification.

If you were running on a UNIX machine then you'd get this error
regardless of whether or not you had quotes.

When you don't have quotes, the Windows port of GNU make has special
code that recognizes drive letters and doesn't consider the ":" in a
drive letter to be a special character.  The algorithm for testing for
drive letters does not understand quoted strings: it basically looks to
see if the first character is alphabetic and the second character is a
colon.

I don't have any great ideas as to the best way to resolve this: adding
a special additional line to the error message only if you're on a
Windows system doesn't seem like a good idea.

Maybe the algorithm for detecting drive letters on Windows should be
enhanced to allow for quoted filenames.  Folks on this list will need to
make that determination.

I can make this improvement (support paths like "d:/test.c" etc), and
submit a patch for consideration if that would be desired?



I noticed that paths with escaped spaces work with windows32 make build,
e.g.:
d:/test\ path

I have an idea for an extra patch, if there is a path such as:
"d:/test path"

in a makefile it might be possible to treat the quotes as indicating
that the text is part of a single path.  Then the spaces in the path
could be upgraded to escaped spaces.  Meaning the resulting path would be:
"d:/test\ path"

Which would solve the spaces in path problem.  Although, perhaps this
breaks compatibility? Any thoughts/corrections?



Kind regards

JG






reply via email to

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