delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/02/09/16:28:42

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Injected-Via-Gmane: http://gmane.org/
To: cygwin AT cygwin DOT com
From: Rolf Campbell <rcampbell AT tropicnetworks DOT com>
Subject: Re: Shell brace expansion in make works?
Date: Sun, 09 Feb 2003 16:28:21 -0500
Lines: 37
Message-ID: <b26h1m$c3a$1@main.gmane.org>
References: <20030209151057 DOT A13079 AT saturn DOT billgatliff DOT com>
Mime-Version: 1.0
X-Complaints-To: usenet AT main DOT gmane DOT org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212
X-Accept-Language: en-us, en
In-Reply-To: <20030209151057.A13079@saturn.billgatliff.com>

William A. Gatliff wrote:
> I have a Makefile with a command like this:
> 
>  mkdir -p /opt/billgatliff/{usr,lib}
> 
> Works fine under Linux, but not on the latest Cygwin.
> 
> Under Cygwin, what I actually get is a directory called "{usr",
> instead of "usr".  Other variations on this brace expansion (in tar
> arguments, etc.) produce similar problems.
> 
> I checked this:
> 
> $ set | grep SHELL
> SHELL=/bin/bash
> 
> Seems fine.  But when I do this:
> 
> $ make SHELL=/bin/sh ...
                     ^^ "bash"
> 
> I actually get what I'm after, i.e. "usr" instead of "{usr".
I'm guessing that you meant to type "bash" in the email.  Either way, 
cygwin make seems to ignore the environment variable SHELL, and uses 
'/bin/sh' unless you specify on the command-line or in the makefile.

I was able to reproduce this.

Use this as a makefile
all:
         echo a{1,2}

Then run "make" and it will output "a{1,2}", but if you run "make 
SHELL=/bin/bash" it will output "a1 a2".

-Rolf



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019