Skip to main content

[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


Back to the top