On Mon, 2010-03-01 at 02:25 +0000, Jamie Lokier wrote:
> Both of you have confirmed the bug - because the correct behaviour has
> no error messages, and you both got messages.  Neither of you was able
> to reproduce getting a text-dependent number of messages, but both of
> you see buggy behaviour so it's easy to reproduce a problem to
> investigate.
> 
> Nobody wants to investigate this bug further?

It's not at all clear this is a bug.  In fact the behavior is, I
suspect, intentional.  After all, from a filesystem standpoint there is
no difference between "foo" and "foo/" (assuming foo is a directory, and
if it's not the latter is an illegal path).

Targets in make are considered to be files, so "./foo", "foo",
"./././foo", are all considered to be the same target.  Similarly, for a
directory "foo" the target "foo/" is considered to be the same.


Looking through the code what actually happens is that each target
filename is passed to glob(3) (to support targets like "*.c" etc.) and
it turns out to be the glob(3) function which canonical-izes the
pathname; passing "foo/" as the pathname to glob(3) returns just "foo".

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <psm...@gnu.org>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.net
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist



_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-make

Reply via email to