Cygwin recently upgraded to GNU make 4.1, but in the process, it introduced a regression in behavior on how VPATH behaves [1]. In particular, the expression
VPATH = .:/path/to/dir is no longer treated as a two-directory designation (search ., and if not found then search /path/to/dir) but as a one-directory designation as if . were a drive letter (but there is no '.' drive, so it results in no VPATH at all). I'm hoping to get this bug fixed (either in upstream make or in the cygwin port of make). But in the meantime, read what 'info make' says about VPATH: > Thus, if a file that is listed as a target or prerequisite does not > exist in the current directory, `make' searches the directories listed > in `VPATH' for a file with that name. That is, the use of .: in VPATH is redundant, and will NOT find any files that were not already found if you had omitted it, because make already searches the current directory before resorting to VPATH. Thus, in all of your Makefile.in files, you should change: VPATH = .:@srcdir@ to be: VPATH = @srcdir@ so that bash can once again be built with the current cygwin build of make; such a change will not break any other platforms. [1] https://cygwin.com/ml/cygwin/2015-06/msg00036.html -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature