Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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 Subject: Re: Shell brace expansion in make works? Date: Sun, 09 Feb 2003 16:28:21 -0500 Lines: 37 Message-ID: References: <20030209151057 DOT A13079 AT saturn DOT billgatliff DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit 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/