Reimplement trunk 2011-05-24T08:02:58Z!rgm@gnu.org in a way visible to automake.
authorGlenn Morris <rgm@gnu.org>
Tue, 24 May 2011 17:23:15 +0000 (13:23 -0400)
committerGlenn Morris <rgm@gnu.org>
Tue, 24 May 2011 17:23:15 +0000 (13:23 -0400)
* configure.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES): New variable, passed to AC_CONFIG_FILES.
(SUBDIR_MAKEFILES_IN): New output variable.
* Makefile.in (OPT_MAKEFILES_IN): Remove.
(SUBDIR_MAKEFILES_IN): Let configure set it.

ChangeLog
Makefile.in
configure.in

index f236814..f210659 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-05-24  Glenn Morris  <rgm@gnu.org>
+
+       * configure.in (OPT_MAKEFILES_IN): Remove.
+       (SUBDIR_MAKEFILES): New variable, passed to AC_CONFIG_FILES.
+       (SUBDIR_MAKEFILES_IN): New output variable.
+       * Makefile.in (OPT_MAKEFILES_IN): Remove.
+       (SUBDIR_MAKEFILES_IN): Let configure set it.
+
 2011-05-24  Leo Liu  <sdl.web@gmail.com>
 
        * m4/sha1.m4:
index 67b0901..0c3eabc 100644 (file)
@@ -264,22 +264,8 @@ EMACSFULL = `echo emacs-${version}${EXEEXT} | sed '$(TRANSFORM)'`
 # checked out from a VCS.
 SUBDIR = lib lib-src src lisp
 
-# test/automated/Makefile.in, if you have it (test/ is not in the release).
-OPT_MAKEFILES_IN = @OPT_MAKEFILES_IN@
-
 # The subdir makefiles created by config.status.
-SUBDIR_MAKEFILES_IN = $(srcdir)/lib/Makefile.in \
-  $(srcdir)/lib-src/Makefile.in \
-  $(srcdir)/doc/emacs/Makefile.in \
-  $(srcdir)/doc/misc/Makefile.in \
-  $(srcdir)/doc/lispref/Makefile.in \
-  $(srcdir)/doc/lispintro/Makefile.in \
-  $(srcdir)/src/Makefile.in \
-  $(srcdir)/oldXMenu/Makefile.in \
-  $(srcdir)/lwlib/Makefile.in \
-  $(srcdir)/leim/Makefile.in \
-  $(srcdir)/lisp/Makefile.in $(OPT_MAKEFILES_IN)
-
+SUBDIR_MAKEFILES_IN = @SUBDIR_MAKEFILES_IN@
 SUBDIR_MAKEFILES = `echo $(SUBDIR_MAKEFILES_IN:.in=) | sed 's|$(srcdir)/||g'`
 
 # Subdirectories to install, and where they'll go.
index f99914b..f052090 100644 (file)
@@ -3701,19 +3701,20 @@ fi
 test "${exec_prefix}" != NONE &&
   exec_prefix=`echo "${exec_prefix}" | sed 's,\([^/]\)/*$,\1,'`]
 
-AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \
-       doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \
-       doc/lispref/Makefile src/Makefile \
-       lwlib/Makefile lisp/Makefile leim/Makefile])
+SUBDIR_MAKEFILES="lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile"
 
 dnl test/ is not present in release tarfiles.
-if test -f $srcdir/test/automated/Makefile.in; then
-  OPT_MAKEFILES_IN="\$(srcdir)/test/automated/Makefile.in"
-  AC_CONFIG_FILES([test/automated/Makefile])
-else
-  OPT_MAKEFILES_IN=
-fi
-AC_SUBST(OPT_MAKEFILES_IN)
+opt_makefile=test/automated/Makefile
+
+test -f $srcdir/${opt_makefile}.in && \
+  SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
+
+SUBDIR_MAKEFILES_IN=`echo " lib/Makefile ${SUBDIR_MAKEFILES}" | sed -e 's| | $(srcdir)/|g' -e 's|Makefile|Makefile.in|g'`
+
+AC_SUBST(SUBDIR_MAKEFILES_IN)
+dnl Any directory using automake (ie lib/) has to be explicitly listed,
+dnl else automake fails with "no `Makefile.am' found for any configure output".
+AC_CONFIG_FILES([Makefile lib/Makefile ${SUBDIR_MAKEFILES}])
 
 dnl Make the necessary directories, if they don't exist.
 AC_CONFIG_COMMANDS([mkdirs], [