[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Possible bug in Makefile 3.81

From: Bob Proulx
Subject: Re: Possible bug in Makefile 3.81
Date: Mon, 5 Nov 2007 22:35:20 -0700
User-agent: Mutt/1.5.13 (2006-08-11)

address@hidden wrote:
> all:
>   if [[ -n "string" ]]; then echo "hello"; fi

I am assuming those two spaces are really a single TAB character?
Otherwise make would have complained.

> address@hidden:$ make
> if [[ -n "string" ]]; then echo "hello"; fi
> /bin/sh: [[: not found

What is your /bin/sh?  Is it a symlink to another shell?  If so then
which shell?  I suspect it is not bash 3.2.  Please double check it.

> If I change the Makefile into this new one:
>   if test -n "string" ; then echo "hello"; fi
> ...then everything work ok again.

That tells me that /bin/sh in the first example does not understand
the [[ construct.

> It looks like "make" won't allow bash "[[" built-in to be
> "executed?".

That would be a shell problem.  You should be able to remove make from
the test case by using the shell directly.

  /bin/sh -xc 'if [[ -n "string" ]]; then echo "hello"; fi'

Does that work or fail?


reply via email to

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