This is the mail archive of the
mailing list for the Cygwin project.
Okay, fair enough. Its not related to PATH. Its also not really a make
problem. Running make from the command line it works. Its when I try run it
through an action as described in my original message
C:\Cygwin\bin\bash.exe --login -cvx +e "TEMP=$(mktemp); $(make -f $0 &>
$TEMP) || less $TEMP; rm $TEMP" %1
it dont work. So I suppose its just a question of how to launch bash
properly? Any suggestions on how to modify the above so that it works.
(also its not related to filename case)
----- Original Message -----
From: "Soren A" <firstname.lastname@example.org>
Sent: Wednesday, December 04, 2002 5:32 PM
Subject: Re: PATH
> Christopher Faylor <email@example.com> wrote around 04 Dec 2002
> > 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/
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html