[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] Make won't handle colons in makefile variables
|
Hi
Although I know this is probably an issue of Cygwin mailing list and
"make" developers, I would like to post it here just in case somebody
has found the same problem and successfully overcome it. I'm working
inWindows, Eclipse 3.2 and standard make projects.
In my Eclipse plugin, I have a common repository of sources and other
resources that all my projects need to use. When building a specific
project, I need to build a intermediary library against certain sources
The necessary sources for each project vary depending on the project. To
build this library, I call make over a special Makefile (not the final
application makefile), which contains an environment variable with the
path to the common repository. This path needs to be absolute. The
environment variable is specified using the project properties of CDT.
There is a known problem when creating environment variables with colons
(such as C:/path-to-context) and making Makefiles to use them. In this
case, Make will throw the following error "Makefile:311: *** target
pattern contains no `%'. Stop."
After much digging, the problem appears to be with "make" and its Cygwin
version not including the option HAVE_DOS_PATHS by default (nor
providing a way to specifying it in the configure phase before
compilation) A patch was somewhat released here
"http://article.gmane.org/gmane.comp.gnu.make.windows/2136".
Current Cygwin make version is 3.81. I have been trying to use another
version of the Cygwin make, which was supposed to include the mentioned
option. This version is the 3.80. However, surprisingly make always
gives me the same error. I have tried to include the patch in the make
source and compile it, but I got some nasty STATUS_STACK_OVERFLOW
exception.
I will keep on trying to recompile and ask the Cygwin people about this
(although they will probably refer me to the patch). In the mean time,
is there anybody in the CDT community that has come across the same
error and has found a way to overcome it?
Any comment will be very much appreciated
Best regards
Tomas