makedepend does not honor UNC path for -I and -Y

Ronald Hoogenboom
Mon Feb 7 08:59:09 GMT 2022

Thanks, Jon.

I solved this by 'relativizing' paths before passing to makedepend using realpath --relative-to (from coreutils).
Since makedepend is not heavily used anymore now gcc has the -MMD option, I wonder if the maintainers are taking any pull requests... If they don't and I create a patch, will cygwin add it in their build process of tools?

-----Original Message-----
From: Jon Turney <> 
Sent: Sunday, 6 February 2022 5:48 PM
To: Ronald Hoogenboom <>; The Cygwin Mailing List <>
Subject: Re: makedepend does not honor UNC path for -I and -Y

On 02/02/2022 17:02, Ronald Hoogenboom wrote:
> cygwin makedepend collapses the double-slash UNC path prefix to one single slash. It fails to find headers via such search paths.
> Cygwin 3.2.0-1 on windows server 2012 R2 makedepend 1.0.6

Thanks for reporting this.
I suspect that this is an upstream bug in makedepend, in that it does some canonicalization on paths, and assumes that '//' is the same as '/' 
everywhere in a path, which isn't true for an initial '//' (but happens to work on Linux, etc.)

See SUSv4 Base specifications, section 4.13 "Pathname Resolution" ([1], registration required):

"If a pathname begins with two successive <slash> characters, the first component following the leading <slash> characters may be interpreted in an implementation-defined manner, although more than two leading <slash> characters shall be treated as a single <slash> character."

Unfortunately, you're probably going to have to fix this yourself, if it's causing you problems.

Fortunately, makedepend is relatively small (See [2]).


More information about the Cygwin mailing list