[Top][All Lists]

[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:


  Message sent via/by Savannah

reply via email to

[Prev in Thread] Current Thread [Next in Thread]