> To reproduce:
>
> $ echo -e 'all:\n\techo $(value MAKEFILE_LIST)' > /tmp/foo\$bar.mk
> $ ./make -f '/tmp/foo$bar.mk'
> echo  /tmp/fooar.mk
> /tmp/fooar.mk
>
> I think this is inconsistent and contradicts the documentation, which states
> "MAKEFILE_LIST Contains the name of each makefile that is parsed by make, in
> the order in which it was parsed."

The $(value ...) is needless; $(MAKEFILE_LIST) exhibits the same.

The problem is that, where make adds a file-name to MAKEFILE_LIST, it needs
to escape any special characters in the file-name, in this case
s/\$/$$/g.

I wonder whether it handles spaces in file-names ?
I'll hazard a guess that a double-space shall end up single ...

        Eddy.

_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to