If autoconf's Makefile is processed by a GNU make-3.81, which has been
configured to respect a case insensitive file system, (IMO, the correct
configuration for use on MS-Windows, among other other systems which
also have such file systems), and the build is configured directly
within the source directory, then `make install' fails thus:
$ make install
Makefile:678: warning: overriding commands for target `install'
Makefile:574: warning: ignoring old commands for target `install'
/bin/sh /home/rgbl0264/foobar/foo/autoconf-2.62/build-aux/missing \
--run makeinfo --no-headers --no-validate --no-split -o install \
./doc/install.texi
This problem was recently reported by a user on the MinGW users ML:
http://thread.gmane.org/gmane.comp.gnu.mingw.user/26315
It is not apparent when performing a VPATH build, but is reproducible
when building in the source directory, both for autoconf-2.62, and for
earlier versions, (I've also confirmed this for autoconf-2.61). It
appears that this rule, (in autoconf-2.62 Makefile):
$(srcdir)/INSTALL: $(top_srcdir)/doc/install.texi
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -o $@ \
$(top_srcdir)/doc/install.texi
...found at Makefile line 677, (with commands starting at line 678),
conflicts with this one...
install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-recursive
...(found at lines 573/574), if, and only if, make is (correctly, IMO)
configured to respect the fundamentally case-insensitive nature of the
Win32 file system, *and* $(srcdir) is identically equal to `.', (as
will be the case when building within the source directory).
This issue may be resolved by replacing each of the three references to
`$(srcdir)/INSTALL', in the Makefile, by `$(abs_srcdir)/INSTALL'. I've
confirmed this, by making the appropriate changes in Makefile.in, and
then successfully repeating the `./configure && make && make install'
sequence under MSYS-1.0.11, (with case-insensitive GNU make-3.81), in
the autoconf-2.62 source directory, on MS-Win2K. The attached patch,
against released autoconf-2.62's Makefile.am, will introduce the same
change, on next Makefile.in regeneration.
Regards,
Keith.
2008-05-08 Keith Marshall <[EMAIL PROTECTED]>
Avoid `install' vs. `INSTALL' conflict in `make install', when
building in source directory on case-insensitive file systems.
* Makefile.am ($(srcdir)/INSTALL): Replace all references...
($(abs_srcdir)/INSTALL): ...with this.
--- autoconf-2.62/Makefile.am 2008-04-06 00:04:48 +0100
+++ autoconf-2.62-patches/Makefile.am 2008-05-08 10:42:02 +0100
@@ -30,15 +30,15 @@
build-aux/announce-gen build-aux/gnupload \
.prev-version .version
-MAINTAINERCLEANFILES = $(srcdir)/INSTALL
+MAINTAINERCLEANFILES = $(abs_srcdir)/INSTALL
## --------- ##
## INSTALL. ##
## --------- ##
-pkgdata_DATA = $(srcdir)/INSTALL
+pkgdata_DATA = $(abs_srcdir)/INSTALL
AM_MAKEINFOFLAGS = --no-headers --no-validate --no-split
-$(srcdir)/INSTALL: $(top_srcdir)/doc/install.texi
+$(abs_srcdir)/INSTALL: $(top_srcdir)/doc/install.texi
$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -o $@ \
$(top_srcdir)/doc/install.texi