Robert Body wrote: > Since this was a distrubuted software (and 5 years old) I thought the > makefile would have been right. And I didn't know that OBJS before XLIBS > would make a difference like that.
When you port software that has only really ever been tested under Linux to other *nix-like systems such as Cygwin you often uncover these little gems where the author did something non-portable without knowing it. Another good example is referring to the name of a generated binary in a Makefile without $(EXEEXT). This works fine on linux but on other systems (and Cygwin is not alone here, I believe) that have extensions, the Makefile will fail or do something really stupid like invoke a default implicit rule. Or sometimes you'll see people assuming ".so" for the extension of shared libraries. This is a good argument for using autoconf/libtool/automake to their full extent, rather than writing makefiles by hand. They will abstract away these types of things so that you can actually expect the build system to be portable. Sadly when you come upon a hand-written Makefile the odds are high of it doing something non-portable that fails on systems for which the author lacked either access or motivation to test. Brian -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/
