On Wed, May 04, 2005 at 02:32:07PM +1000, John Williams wrote: >Christopher Faylor wrote: >>On Wed, May 04, 2005 at 11:08:43AM +1000, John Williams wrote: >> >>>Essentially under Cygwin the PWD variable seems to be "frozen" at its >>>value upon first launching Make from the commandline, while under Linux >>>it is being updated for each child process spawned by `make -C XXX` >>> >>>I know that Cygwin != Linux, however is it a reasonable expectation >>>that under the same shells, the same behaviour should apply? >> >> >>In this case, the operative observation is bash != ash. PWD is a bash >>construct. You would be much better off just using the gnu make >>"CURDIR" variable. Changing PWD to CURDIR in your examples makes things >>work as you'd expect. > >Thanks for the quick response and workaround. > >While what you say might be a true statement, "better off" means >different things to different people!
"Better off" == "it works" vs. "not better off" == "it doesn't work". >What surprised me was that the same shell, and same make, resulted in >different behaviour. I guess this is just reflecting differences in the >underlying process architectures of Linux vs Windows. Again, it *isn't* the same shell. You have now learned that it isn't the same shell and you now know that this is the reason for the inconsistency. ash isn't normally used as /bin/sh on linux. A stripped down version of ash is used as /bin/sh for performance purposes on cygwin. ash does not set PWD. cgf -- 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/

