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
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to