[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #49681] Make fails to glob lib/*.{o,a}
From: |
Paul D. Smith |
Subject: |
[bug #49681] Make fails to glob lib/*.{o,a} |
Date: |
Wed, 23 Nov 2016 15:25:29 +0000 (UTC) |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:50.0) Gecko/20100101 Firefox/50.0 |
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/