Update of bug #49681 (project make):
Status: None => Not A Bug
Open/Closed: Open => Closed
_______________________________________________________
Follow-up Comment #1:
Any commands inside a recipe are passed to the shell, not interpreted by make.
If that command is behaving differently it's due to some change in your
environment or configuration, not because of a change in GNU make.
Note that by default, GNU make (as all makes) always uses /bin/sh as the shell
to run recipes, and never the user's shell. The standard POSIX shell doesn't
define brace-expansion, so it won't recognize that glob expression.
Some distributions install bash as /bin/sh and if that's true then you'll get
(at least some of) the bash extensions by default in GNU make recipes. Other
distributions install dash, ksh, or some other shell as /bin/sh and if that's
true you won't get any bash extensions.
If you want to write your recipes using bash extensions then you should
explicitly set SHELL in your makefile to /bin/bash:
SHELL := /bin/bash
clean: ; rm lib/*.{o,a}
If you don't want to do that, you should be sure to write your recipes using
only standard POSIX shell features and not extensions:
clean: ; rm lib/*.o lib/*.a
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?49681>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-make