First, let me say the the GNU toolset is a fine product. The tools make it a pleasure to participate in the software development field. Now on to the problem... CURDIR doesn't work as advertised in make-3.79.1 and make-3.80. Consider the following makefile in /tmp: .PHONY: xNow, run it: bash[/tmp]$ make /tmp Okay, what we expected. Now try this. bash[/tmp]$ export CURDIR=uhoh bash[/tmp]$ make uhoh Not what we expect; however, it would be what we expect if we had type 'make -e'. As evidence, we provide the following documentation from http://www.gnu.org/software/make/manual/html_chapter/make_5.html: For your convenience, GNUThis paragraph directly contradicts the observed behavior. However, it does mention use of the -C option. Further testing will show the faulty behavior exists in the presence of the -C option, also. The consequences of this misbehavior is that any makefiles that take advantage of CURDIR (e.g., linux comes to mind) will fail if the user's environment contains a value for the CURDIR variable. This is unfortunate, as some other applications require CURDIR to be set (e.g., Rational Rose) for them to function properly. Examples of failures caused by CURDIR: http://lists.strongswan.org/pipermail/users/2004-October/000426.html http://ozlabs.org/pipermail/linuxppc-dev/2001-July/011336.html http://www.uclinux.org/pub/uClinux/archive/att-7664/01-error.txt The mailing lists are full of frustrated people without the ability to chase the problem. Your consideration of looking into this would be greatly appreciated. |
_______________________________________________ Bug-make mailing list Bug-make@gnu.org http://lists.gnu.org/mailman/listinfo/bug-make