[Top][All Lists]

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

Re: False positive "doesn't match the target pattern" error

From: David A. Wheeler
Subject: Re: False positive "doesn't match the target pattern" error
Date: Sun, 21 Aug 2022 22:45:18 -0400

> On Aug 20, 2022, at 11:35 AM, Alejandro Colomar <alx.manpages@gmail.com> 
> wrote:
> I'd say there is:  make(1) treats file names as text strings, not really file 
> names, for most of its operations.  As an example, foo/ and foo/. are 
> different targets.  I don't see why ./bar and bar should be the same.  
> Consistency is essential; otherwise, what to expect?  Why does make(1) need 
> to special-case a leading ./ ?

Because treating "./foo" and "foo" as different files is likely to lead to 
endless footguns.

Consistency is nice, but making something easy to use *correctly* is more 
important. I have no problem with special-casing "./XXX" as a synonym for 
"XXX"; anything else would be *unexpected* (if for no other reason than 
backwards compatibility).

As far as "foo/" vs. "foo/.", it's *much* less common to have directories as 
prerequisites or targets, so not handling them with special conveniences seems 
quite reasonable.

--- David A. Wheeler

reply via email to

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