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
 

Reply via email to