This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: if construct doesn't work in makefile
- From: "Dave Korn" <dk at artimi dot com>
- To: <cygwin at cygwin dot com>
- Date: Thu, 11 Nov 2004 13:02:25 -0000
- Subject: RE: if construct doesn't work in makefile
> -----Original Message-----
> From: cygwin-owner On Behalf Of Gerrit P. Haase
> Sent: 11 November 2004 11:32
> Prasad, Kanuparthi wrote:
> > Hi,
> >
> > In my make file I am trying to check whether a directory
> exists or not
> > then set a path differently if doesn't exist.
> > I am using cygwin installed on windows 2000.
> > The if construct I have is as follows.
> >
> > if test [-dc:/tools]; then DRIVE = c:/tools; else DRIVE =
> c:/altTools; fi
> >
> > pls help me out.
>
> Try
> if test [-dc:/tools] ; then DRIVE=c:/tools; else DRIVE=c:/altTools; fi
> instead, and/or use cygwin syntax to access drives.
There's nothing wrong with the command syntax in general. The problem is that
in bash, you can't put a space between the VARIABLE and the = sign, or bash
thinks it's an executable to search the $PATH for instead of a variable to
assign to.
dk@mace /tmp/bgcc> unset FRED
dk@mace /tmp/bgcc> if test [-dc:/baar]; then FRED=yes; else FRED=no; fi
dk@mace /tmp/bgcc> echo ${FRED}
yes
dk@mace /tmp/bgcc> unset FRED
dk@mace /tmp/bgcc> if test [-dc:/baar]; then FRED = yes; else FRED = no; fi
bash: FRED: command not found
dk@mace /tmp/bgcc> if test [-dc:/baar]; then FRED =yes; else FRED =no; fi
bash: FRED: command not found
dk@mace /tmp/bgcc> if test [-dc:/baar]; then FRED=yes; else FRED =no; fi
dk@mace /tmp/bgcc>
cheers,
DaveK
--
Can't think of a witty .sigline today....
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/