This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: [PATCH] fix make after clean
On Mon, Apr 04, 2011 at 02:13:36AM -0500, Yaakov (Cygwin/X) wrote:
>On Mon, 2011-04-04 at 00:56 -0500, Yaakov (Cygwin/X) wrote:
>> No, I duplicated this on Linux as well (after I tracked down a cocom
>> RPM), but that did make me think of other possibilities. The difference
>> seems to be if you pass an absolute or relative path to the top-level
>> configure script; only in the latter does it fail as I described. I
>> presume you've been using an absolute path?
>
>This is definitely the problem. If configure is called with a relative
>path (e.g. mkdir build; cd build; ../configure ...), then srcdir is also
>defined relative, which is then used in VPATH. But when Makefile.common
>is include()d, it overrides srcdir to an absolute path, the value of
>which is used later in the $(srcdir)/devices.cc: rule. Since the new
>value of srcdir isn't identical to the old (although functionally the
>same), make doesn't find the dependency automatically.
>
>I see two solutions:
>
>1) move the VPATH definition to after the Makefile.common inclusion, OR
>2) change the $(srcdir)/devices.cc: rule to @srcdir@/devices.cc.
>
>Your preference?
The last time I reported that I was using relative paths in the
gcc/binutils/winsup directory I was told "Don't do that. It isn't
supported." However, I'll move the call to Makefile.common earlier
in Makefile.in.
Thanks for the analysis.
cgf