Subject: Re: PATH
From: Soren A <[email-masked]>
To: [email-masked]
Date: Thu, 5 Dec 2002 01:32:28 +0000 (UTC)

Christopher Faylor <[email-masked]> wrote around 04 Dec 2002 
news:[email-masked]:

> On Wed, Dec 04, 2002 at 02:45:17PM -0800, Alan Larkin wrote:
>>I have a Makefile.mak which contains the rule
>>
>>Lexer.c: Lexer.l
>>
>>(using the implict rule for lexing).  When I try making it (by double
>>clicking) it complains that make cannot find a rule to make Lexer.l
>>needed by Lexer.c.  Lexer.l is of course in the working directory but
>>it doesnt seem to find it.  Ive added .: to the PATH all over the
>>place! /home/alan/.bash_profile (which now just looks like
>>
>>export PATH=$PATH:.
> 
> AFAIK, the PATH isn't used to find files in make.

I can conclusively confirm Chris' statement, which was worded a bit
tentatively: absolutely, PATH has nothing to do with where GNU 'make'
(or any other that I know of) looks for files. Nothing whatsoever. This
confusion over the basic concept of what PATH is for has come up before,
I can recall. 

Again, TTBOK there is no (credible) program or software system in
existance that uses $PATH (%PATH%) for *anything* except for finding
executables to run (including of course DLLs, which in the DozeWorld are
considered executables). 

> Given that you have mixed case in the above example, I'm guessing that 
you probably have
> an incorrect case in the actual filename, i.e., the file is actually
> called lExer.L or something like that.  If you do this:
> 
>   mv lexer.l foo; mv foo Lexer.l
> 
> you may be able to correctly set the filename case.

Probably 'make' shouldn't be treating targets on this platform as case-
sensitive. But this is a fairly esoteric issue and I don't know right off-
hand whether this could be the explanation. If one wanted an authoritative 
answer then I think the GNU 'make' List would be the place to go (can be 
read on Gmane BTW: www.gmane.org).

My thinking is that I would want to make sure that the cwd is really what 
you thing it is (OP). It seems possible, if unlikely, that 'make' is 
actually working in another dir than where the makefile and sources are 
located? The manner in which you (OP) are starting this process from a 
shortcut icon is non-standard and might have odd side-effects.

BTW, "VPATH" is a mechanism existing in GNU make for explicitly telling 
make where to look for targets that might need to be remade 
(prerequisites). Please `info make' (or 'man make').

   Soren A

-- 
Yes, it's really Sören, not Soren.

--
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/