anonymous reported:

> This is a regression from GNU make 4.0. The make target
>
> clean:
>         rm lib/*.{o,a}
>
> fails to remove files lib/foo.o, lib/bar.o, and lib/libfoobar.a  because
> lib/*.{o,a} does not glob lib/*.o and lib/*.a, as is its intention.

This is a rule, which make hands off to the shell: the wild-card
expansion isn't done for you by make at all.

If you're getting different behaviour, check the value of $(SHELL) is
what you expect.  Are you perhaps getting /bin/sh where previously you
got /bin/bash ?  On many Linux variants, /bin/sh is now dash rather than
bash, so that might be what's really changed here.  If that's the
problem, you can hopefully fix this by setting

   SHELL=/bin/bash

        Eddy.

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

Reply via email to