Christopher Faylor wrote:
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!
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.
OK - I see the confusion. Make is spawning ash as the subshell, not bash. Now everything you said makes sense. Out of interest, can that behaviour be modified at the runtime/user/Makefile level?
Cheers,
John
-- 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/