Commits

Anonymous committed 9c17f7b

Require makeinfo 4.12 or later to build the info files. See xemacs-beta
message <CAD3FetiVVt_Lw8D6PCeA=_kwFbp8L0h9Y0LSA5QYL5BxxF=fWw@mail.gmail.com>
for the original bug report, and xemacs-patches message
<CAHCOHQm63J403HSyakhpxoO5jTO_OZ5-0rkgT36xbnTs0G3H8Q@mail.gmail.com>.

  • Participants
  • Parent commits 2257ac0

Comments (0)

Files changed (10)

+2013-06-25  Jerry James  <james@xemacs.org>
+
+	* INSTALL: Update required makeinfo version.
+	* Makefile.in.in: Check for usable makeinfo before invoking submake.
+	* configure.ac: Try to find makeinfo >= 4.12.
+
 2013-06-17  Jerry James  <james@xemacs.org>
 
 	* configure.ac: Support bignums with MPIR.
 miscellaneous data files, and on-line documentation.
 
 XEmacs requires an ANSI C compiler, such as GCC.  If you wish to build the
-documentation yourself, you will need at least version 1.68 of makeinfo (GNU
-texinfo-3.11).  GNU Texinfo 4.2 is strongly recommended; it is necessary for
-building Lisp packages, and we may move to it for the core.
+documentation yourself, you will need at least version 4.12 of makeinfo (GNU
+texinfo-4.12).
 
 BASIC INSTALLATION
 ==================

File Makefile.in.in

 CFLAGS=@CFLAGS@
 CPPFLAGS=@CPPFLAGS@
 LDFLAGS=@LDFLAGS@
+MAKEINFO=@MAKEINFO@
 
 ## These help us choose version- and architecture-specific directories
 ## to install files in.
 	  xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ 	]+'?\\([^ 	]+\\)/\\3/"
 
 info: FRC.info
-	cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
+	if test -n "$(MAKEINFO)"; then cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@; fi
 
 dvi:
 	cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
 sound_cflags
 native_sound_lib
 RECURSIVE_MAKE_ARGS
+MAKEINFO
 ld_libs_all
 ld_libs_window_system
 ld_libs_general
 test -n "$YACC" || YACC="yacc"
 
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for makeinfo >= 4.12" >&5
+$as_echo_n "checking for makeinfo >= 4.12... " >&6; }
+MAKEINFO=
+for prog in `which -a makeinfo`; do
+  mi_verstr=`$prog --version | sed -rn '1s/.*+[[:blank:]]([^[:blank:]]+)$/\1/p'`
+  mi_major=`echo $mi_verstr | cut -d. -f1`
+  mi_minor=`echo $mi_verstr | cut -d. -f2`
+  if test $mi_major -gt 4 || ( test $mi_major -eq 4 && test $mi_minor -gt 11 );
+  then
+    MAKEINFO=$prog
+    break
+  fi
+done
+if test -z $MAKEINFO; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Makeinfo 4.12 or later required to build info files." >&5
+$as_echo "$as_me: WARNING: Makeinfo 4.12 or later required to build info files." >&2;}
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+ac_config_files="$ac_config_files man/Makefile"
+
+
 for ac_header in   a.out.h   elf.h   cygwin/version.h   fcntl.h   libgen.h   locale.h   wchar.h   mach/mach.h   sys/param.h   sys/pstat.h   sys/resource.h   sys/time.h   sys/timeb.h   sys/times.h   sys/un.h   sys/vlimit.h   ulimit.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 
 
 
-RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
+
+RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)' MAKEINFO='\$(MAKEINFO)'"
 
 
 native_sound_lib=$with_native_sound_lib
 for ac_config_target in $ac_config_targets
 do
   case $ac_config_target in
+    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
     "src/config.h") CONFIG_HEADERS="$CONFIG_HEADERS src/config.h" ;;
     "lwlib/config.h") CONFIG_HEADERS="$CONFIG_HEADERS lwlib/config.h" ;;
     "$file") CONFIG_FILES="$CONFIG_FILES $file" ;;

File configure.ac

 AC_PROG_INSTALL
 AC_PROG_YACC
 
+dnl We need a recent version of makeinfo
+AC_MSG_CHECKING([for makeinfo >= 4.12])
+MAKEINFO=
+for prog in `which -a makeinfo`; do
+  mi_verstr=[`$prog --version | sed -rn '1s/.*+[[:blank:]]([^[:blank:]]+)$/\1/p'`]
+  mi_major=`echo $mi_verstr | cut -d. -f1`
+  mi_minor=`echo $mi_verstr | cut -d. -f2`
+  if test $mi_major -gt 4 || ( test $mi_major -eq 4 && test $mi_minor -gt 11 );
+  then
+    MAKEINFO=$prog
+    break
+  fi
+done
+if test -z $MAKEINFO; then
+  AC_MSG_RESULT([no])
+  AC_MSG_WARN([Makeinfo 4.12 or later required to build info files.])
+else
+  AC_MSG_RESULT([yes])
+fi
+AC_CONFIG_FILES([man/Makefile])
+
 dnl checks for header files
 AC_CHECK_HEADERS(dnl
   a.out.h dnl
 AC_SUBST(CFLAGS)
 AC_SUBST(CPPFLAGS)
 AC_SUBST(LDFLAGS)
-RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)'"
+AC_SUBST(MAKEINFO)
+RECURSIVE_MAKE_ARGS="\$(MFLAGS) CC='\$(CC)' CFLAGS='\$(CFLAGS)' LDFLAGS='\$(LDFLAGS)' CPPFLAGS='\$(CPPFLAGS)' MAKEINFO='\$(MAKEINFO)'"
 AC_SUBST(RECURSIVE_MAKE_ARGS)
 
 AC_SUBST(native_sound_lib,$with_native_sound_lib)

File man/ChangeLog

+2013-06-25  Jerry James  <james@xemacs.org>
+
+	* Makefile.in: New file, so we can replace @MAKEINFO@.
+	* Makefile: Removed.
+	* lispref/packaging.texi: Update required version of makeinfo.
+	* xemacs/packages.texi: Ditto.
+
 2013-06-19  Jerry James  <james@xemacs.org>
 
 	* beta.texi: Move "@end info" to its own line.

File man/Makefile

-#  Makefile for man subdirectory in XEmacs
-#   Copyright (C) 1995 Board of Trustees, University of Illinois
-#   Copyright (C) 1994, 1995 Sun Microsystems.
-#   Copyright (C) 2005, 2010 Ben Wing.
-
-# This file is part of XEmacs.
-
-# XEmacs is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2, or (at your option) any
-# later version.
-
-# XEmacs is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-# for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with XEmacs; see the file COPYING.  If not, write to
-# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-DESTDIR=
-
-SHELL    = /bin/sh
-MAKEINFO = makeinfo
-TEXI2DVI = texi2dvi
-TEXI2HTML = texi2html
-TEXI2HTML_NOSPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR)
-TEXI2HTML_SPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) -split chapter
-
-RM = rm -f
-CP = cp
-
-.SUFFIXES:
-.SUFFIXES: .html .info .texi .dvi .pdf
-
-RECURSIVE_MAKE_ARGS = $(MFLAGS) MAKEINFO='$(MAKEINFO)' TEXI2DVI='$(TEXI2DVI)'
-
-all : info
-
-# Ughhh!  The things we do to have portable makefiles...
-
-INFODIR = ../info
-HTMLDIR = ../html
-PHOTODIR = ../etc/photos
-
-src_files1 = \
-	$(DIR)beta.texi \
-	$(DIR)cl.texi \
-	$(DIR)emodules.texi \
-	$(DIR)external-widget.texi \
-	$(DIR)info.texi \
-	$(DIR)internals.texi \
-	$(DIR)lispref.texi \
-	$(DIR)new-users-guide.texi \
-	$(DIR)standards.texi \
-	$(DIR)termcap.texi \
-	$(DIR)texinfo.texi \
-	$(DIR)widget.texi \
-	$(DIR)xemacs.texi \
-	$(DIR)xemacs-faq.texi
-
-DIR:= 
-src_files := $(src_files1)
-
-DIR := $(INFODIR)/
-info_files := $(src_files1:.texi=.info)
-
-DIR := $(HTMLDIR)/
-html_files := $(src_files1:.texi=.html)
-
-dvi_files := $(src_files:.texi=.dvi)
-
-pdf_files := $(src_files:.texi=.pdf)
-
-
-xemacs-srcs = \
-	xemacs/abbrevs.texi \
-	xemacs/basic.texi \
-	xemacs/buffers.texi \
-	xemacs/building.texi \
-	xemacs/calendar.texi \
-	xemacs/cmdargs.texi \
-	xemacs/custom.texi \
-	xemacs/display.texi \
-	xemacs/entering.texi \
-	xemacs/files.texi \
-	xemacs/fixit.texi \
-	xemacs/frame.texi \
-	xemacs/glossary.texi \
-	xemacs/gnu.texi \
-	xemacs/help.texi \
-	xemacs/indent.texi \
-	xemacs/keystrokes.texi \
-	xemacs/killing.texi \
-	xemacs/m-x.texi \
-	xemacs/major.texi \
-	xemacs/mark.texi \
-	xemacs/menus.texi \
-	xemacs/mini.texi \
-	xemacs/misc.texi \
-	xemacs/mouse.texi \
-	xemacs/mule.texi \
-	xemacs/new.texi \
-	xemacs/packages.texi \
-	xemacs/picture.texi \
-	xemacs/programs.texi \
-	xemacs/reading.texi \
-	xemacs/regs.texi \
-	xemacs/search.texi \
-	xemacs/sending.texi \
-	xemacs/startup.texi \
-	xemacs/text.texi \
-	xemacs/trouble.texi \
-	xemacs/undo.texi \
-	xemacs/windows.texi \
-	xemacs/xemacs.texi
-
-lispref-srcs = \
-	lispref/abbrevs.texi \
-	lispref/annotations.texi \
-	lispref/back.texi \
-	lispref/backups.texi \
-	lispref/buffers.texi \
-	lispref/building.texi \
-	lispref/commands.texi \
-	lispref/compile.texi \
-	lispref/consoles-devices.texi \
-	lispref/control.texi \
-	lispref/customize.texi \
-	lispref/databases.texi \
-	lispref/debugging.texi \
-	lispref/dialog.texi \
-	lispref/display.texi \
-	lispref/dragndrop.texi \
-	lispref/edebug-inc.texi \
-	lispref/edebug.texi \
-	lispref/errors.texi \
-	lispref/eval.texi \
-	lispref/extents.texi \
-	lispref/faces.texi \
-	lispref/files.texi \
-	lispref/frames.texi \
-	lispref/functions.texi \
-	lispref/glyphs.texi \
-	lispref/hash-tables.texi \
-	lispref/help.texi \
-	lispref/hooks.texi \
-	lispref/index.texi \
-	lispref/internationalization.texi \
-	lispref/intro.texi \
-	lispref/keymaps.texi \
-	lispref/ldap.texi \
-	lispref/lispref.texi \
-	lispref/lists.texi \
-	lispref/loading.texi \
-	lispref/locals.texi \
-	lispref/macros.texi \
-	lispref/maps.texi \
-	lispref/markers.texi \
-	lispref/menus.texi \
-	lispref/minibuf.texi \
-	lispref/modes.texi \
-	lispref/mouse.texi \
-	lispref/mule.texi \
-	lispref/numbers.texi \
-	lispref/objects.texi \
-	lispref/os.texi \
-	lispref/packaging.texi \
-	lispref/positions.texi \
-	lispref/processes.texi \
-	lispref/range-tables.texi \
-	lispref/scrollbars.texi \
-	lispref/searching.texi \
-	lispref/sequences.texi \
-	lispref/specifiers.texi \
-	lispref/streams.texi \
-	lispref/strings.texi \
-	lispref/symbols.texi \
-	lispref/syntax.texi \
-	lispref/text.texi \
-	lispref/tips.texi \
-	lispref/toolbar.texi \
-	lispref/tooltalk.texi \
-	lispref/variables.texi \
-	lispref/windows.texi \
-	lispref/x-windows.texi
-
-internals-srcs = \
-	internals/internals.texi
-
-new-users-guide-srcs = \
-	new-users-guide/custom1.texi \
-	new-users-guide/custom2.texi \
-	new-users-guide/edit.texi \
-	new-users-guide/enter.texi \
-	new-users-guide/files.texi \
-	new-users-guide/help.texi \
-	new-users-guide/modes.texi \
-	new-users-guide/new-users-guide.texi \
-	new-users-guide/region.texi \
-	new-users-guide/search.texi \
-	new-users-guide/xmenu.texi
-
-texinfo-srcs = \
-	texinfo/fdl.texi \
-	texinfo/texinfo.texi \
-	texinfo/version.texi
-
-$(INFODIR)/beta.info : beta.texi
-	$(MAKEINFO) -o $(INFODIR)/beta.info beta.texi
-
-$(INFODIR)/cl.info : cl.texi
-	$(MAKEINFO) -o $(INFODIR)/cl.info cl.texi
-
-$(INFODIR)/custom.info : custom.texi
-	$(MAKEINFO) -o $(INFODIR)/custom.info custom.texi
-
-$(INFODIR)/emodules.info : emodules.texi
-	$(MAKEINFO) -o $(INFODIR)/emodules.info emodules.texi
-
-$(INFODIR)/external-widget.info : external-widget.texi
-	$(MAKEINFO) -o $(INFODIR)/external-widget.info external-widget.texi
-
-$(INFODIR)/info.info : info.texi
-	$(MAKEINFO) -o $(INFODIR)/info.info info.texi
-
-$(INFODIR)/standards.info : standards.texi
-	$(MAKEINFO) -o $(INFODIR)/standards.info standards.texi
-
-$(INFODIR)/term.info : term.texi
-	$(MAKEINFO) -o $(INFODIR)/term.info term.texi
-
-$(INFODIR)/termcap.info : termcap.texi
-	$(MAKEINFO) -o $(INFODIR)/termcap.info termcap.texi
-
-$(INFODIR)/widget.info : widget.texi doclicense.texi
-	$(MAKEINFO) -o $(INFODIR)/widget.info widget.texi
-
-$(INFODIR)/xemacs-faq.info : xemacs-faq.texi
-	$(MAKEINFO) -o $(INFODIR)/xemacs-faq.info xemacs-faq.texi
-
-# Manuals with their own subdirectory
-$(INFODIR)/xemacs.info : $(xemacs-srcs)
-	$(MAKEINFO) -P xemacs -o $(INFODIR)/xemacs.info xemacs/xemacs.texi
-
-$(INFODIR)/lispref.info : $(lispref-srcs)
-	$(MAKEINFO) -P lispref -o $(INFODIR)/lispref.info lispref/lispref.texi
-
-$(INFODIR)/internals.info : $(internals-srcs)
-	$(MAKEINFO) -P internals -o $(INFODIR)/internals.info internals/internals.texi
-
-$(INFODIR)/new-users-guide.info : $(new-users-guide-srcs)
-	$(MAKEINFO) -P new-users-guide -o $(INFODIR)/new-users-guide.info new-users-guide/new-users-guide.texi
-
-$(INFODIR)/texinfo.info : $(texinfo-srcs)
-	$(MAKEINFO) -P texinfo -o $(INFODIR)/texinfo.info texinfo/texinfo.texi
-
-xemacs : $(INFODIR)/xemacs.info
-lispref : $(INFODIR)/lispref.info
-internals : $(INFODIR)/internals.info
-new-users-guide.info : $(INFODIR)/new-users-guide.info
-texinfo : $(INFODIR)/texinfo.info
-
-.PHONY : xemacs lispref internals new-users-guide texinfo info dvi pdf
-
-info : $(info_files)
-html : $(html_files)
-
-.texi.dvi:
-	-$(TEXI2DVI) $<
-
-.texi.pdf:
-	-$(TEXI2DVI) --pdf $<
-
-xemacs.dvi : $(xemacs-srcs)
-	$(TEXI2DVI) -I xemacs xemacs/xemacs.texi
-
-lispref.dvi : $(lispref-srcs)
-	$(TEXI2DVI) -I lispref lispref/lispref.texi
-
-internals.dvi : $(internals-srcs)
-	$(TEXI2DVI) -I internals internals/internals.texi
-
-new-users-guide.dvi : $(new-users-guide-srcs)
-	$(TEXI2DVI) -I new-users-guide new-users-guide/new-users-guide.texi
-
-texinfo.dvi : $(texinfo-srcs)
-	$(TEXI2DVI) -I texinfo texinfo/texinfo.texi
-
-dvi : $(dvi_files)
-
-xemacs.pdf: $(xemacs-srcs)
-	$(TEXI2DVI) --pdf -I xemacs xemacs/xemacs.texi
-
-lispref.pdf: $(lispref-srcs)
-	$(TEXI2DVI) --pdf -I lispref lispref/lispref.texi
-
-internals.pdf: $(internals-srcs)
-	$(TEXI2DVI) --pdf -I internals internals/internals.texi
-
-new-users-guide.pdf: $(new-users-guide-srcs)
-	$(TEXI2DVI) --pdf -I new-users-guide new-users-guide/new-users-guide.texi
-
-texinfo.pdf: $(texinfo-srcs)
-	$(TEXI2DVI) --pdf -I texinfo texinfo/texinfo.texi
-
-pdf: $(pdf_files)
-
-.PHONY: mostlyclean clean distclean realclean extraclean
-.PHONY: distclean-noconfig realclean-noconfig extraclean-noconfig
-mostlyclean:
-	$(RM) *.toc *.aux *.log *.op *.cp *.cps *.fn *.fns
-	$(RM) *.ky *.kys *.pg *.pgs *.tp *.tps *.vr *.vrs
-clean: mostlyclean
-	$(RM) core *.dvi *.pdf
-distclean-noconfig: clean
-distclean: distclean-noconfig
-realclean-noconfig: distclean-noconfig
-realclean: distclean
-extraclean-noconfig: realclean-noconfig
-	$(RM) *~ \#* */*~ */\#*
-extraclean: realclean
-	$(RM) *~ \#* */*~ */\#*
-
-############################################################################
-
-$(HTMLDIR)/beta.html : beta.texi
-	$(TEXI2HTML_NOSPLIT) beta.texi
-
-$(HTMLDIR)/cl.html : cl.texi
-	$(TEXI2HTML_SPLIT) cl.texi
-
-$(HTMLDIR)/custom.html : custom.texi
-	$(TEXI2HTML_SPLIT) custom.texi
-
-$(HTMLDIR)/emodules.html : emodules.texi
-	$(TEXI2HTML_SPLIT) emodules.texi
-
-$(HTMLDIR)/external-widget.html : external-widget.texi
-	$(TEXI2HTML_SPLIT) external-widget.texi
-
-$(HTMLDIR)/info.html : info.texi
-	$(TEXI2HTML_SPLIT) info.texi
-
-$(HTMLDIR)/standards.html : standards.texi
-	$(TEXI2HTML_SPLIT) standards.texi
-
-$(HTMLDIR)/term.html : term.texi
-	$(TEXI2HTML_SPLIT) term.texi
-
-$(HTMLDIR)/termcap.html : termcap.texi
-	$(TEXI2HTML_SPLIT) termcap.texi
-
-$(HTMLDIR)/widget.html : widget.texi
-	$(TEXI2HTML_SPLIT) widget.texi
-
-$(HTMLDIR)/xemacs-faq.html : xemacs-faq.texi
-	$(TEXI2HTML_NOSPLIT) xemacs-faq.texi
-	$(TEXI2HTML_SPLIT) -top_file xemacs-faq_1.html xemacs-faq.texi
-	$(CP) $(PHOTODIR)/ben.png $(HTMLDIR)
-	$(CP) $(PHOTODIR)/cthomp.png $(HTMLDIR)
-	$(CP) $(PHOTODIR)/hniksic.png $(HTMLDIR)
-	$(CP) $(PHOTODIR)/jwz.png $(HTMLDIR)
-	$(CP) $(PHOTODIR)/martin.png $(HTMLDIR)
-	$(CP) $(PHOTODIR)/mly.png $(HTMLDIR)
-	$(CP) $(PHOTODIR)/piper.png $(HTMLDIR)
-	$(CP) $(PHOTODIR)/slb.png $(HTMLDIR)
-
-# Manuals with their own subdirectory
-$(HTMLDIR)/xemacs.html : $(xemacs-srcs)
-	$(TEXI2HTML_SPLIT) xemacs/xemacs.texi
-
-$(HTMLDIR)/lispref.html : $(lispref-srcs)
-	$(TEXI2HTML_SPLIT) lispref/lispref.texi
-
-$(HTMLDIR)/internals.html : $(internals-srcs)
-	$(TEXI2HTML_SPLIT) internals/internals.texi
-
-$(HTMLDIR)/new-users-guide.html : $(new-users-guide-srcs)
-	$(TEXI2HTML_SPLIT) new-users-guide/new-users-guide.texi
-
-$(HTMLDIR)/texinfo.html : $(texinfo-srcs)
-	$(TEXI2HTML_SPLIT) texinfo/texinfo.texi
-
-xemacs : $(HTMLDIR)/xemacs.html
-lispref : $(HTMLDIR)/lispref.html
-internals : $(HTMLDIR)/internals.html
-new-users-guide.html : $(HTMLDIR)/new-users-guide.html
-texinfo : $(HTMLDIR)/texinfo.html
-
-html : $(html_files)

File man/Makefile.in

+#  Makefile for man subdirectory in XEmacs
+#   Copyright (C) 1995 Board of Trustees, University of Illinois
+#   Copyright (C) 1994, 1995 Sun Microsystems.
+#   Copyright (C) 2005, 2010 Ben Wing.
+
+# This file is part of XEmacs.
+
+# XEmacs is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by the
+# Free Software Foundation; either version 2, or (at your option) any
+# later version.
+
+# XEmacs is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with XEmacs; see the file COPYING.  If not, write to
+# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+DESTDIR=
+
+SHELL    = /bin/sh
+MAKEINFO = @MAKEINFO@
+TEXI2DVI = texi2dvi
+TEXI2HTML = texi2html
+TEXI2HTML_NOSPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR)
+TEXI2HTML_SPLIT = $(TEXI2HTML) -verbose -subdir $(HTMLDIR) -split chapter
+
+RM = rm -f
+CP = cp
+
+.SUFFIXES:
+.SUFFIXES: .html .info .texi .dvi .pdf
+
+RECURSIVE_MAKE_ARGS = $(MFLAGS) MAKEINFO='$(MAKEINFO)' TEXI2DVI='$(TEXI2DVI)'
+
+all : info
+
+# Ughhh!  The things we do to have portable makefiles...
+
+INFODIR = ../info
+HTMLDIR = ../html
+PHOTODIR = ../etc/photos
+
+src_files1 = \
+	$(DIR)beta.texi \
+	$(DIR)cl.texi \
+	$(DIR)emodules.texi \
+	$(DIR)external-widget.texi \
+	$(DIR)info.texi \
+	$(DIR)internals.texi \
+	$(DIR)lispref.texi \
+	$(DIR)new-users-guide.texi \
+	$(DIR)standards.texi \
+	$(DIR)termcap.texi \
+	$(DIR)texinfo.texi \
+	$(DIR)widget.texi \
+	$(DIR)xemacs.texi \
+	$(DIR)xemacs-faq.texi
+
+DIR:= 
+src_files := $(src_files1)
+
+DIR := $(INFODIR)/
+info_files := $(src_files1:.texi=.info)
+
+DIR := $(HTMLDIR)/
+html_files := $(src_files1:.texi=.html)
+
+dvi_files := $(src_files:.texi=.dvi)
+
+pdf_files := $(src_files:.texi=.pdf)
+
+
+xemacs-srcs = \
+	xemacs/abbrevs.texi \
+	xemacs/basic.texi \
+	xemacs/buffers.texi \
+	xemacs/building.texi \
+	xemacs/calendar.texi \
+	xemacs/cmdargs.texi \
+	xemacs/custom.texi \
+	xemacs/display.texi \
+	xemacs/entering.texi \
+	xemacs/files.texi \
+	xemacs/fixit.texi \
+	xemacs/frame.texi \
+	xemacs/glossary.texi \
+	xemacs/gnu.texi \
+	xemacs/help.texi \
+	xemacs/indent.texi \
+	xemacs/keystrokes.texi \
+	xemacs/killing.texi \
+	xemacs/m-x.texi \
+	xemacs/major.texi \
+	xemacs/mark.texi \
+	xemacs/menus.texi \
+	xemacs/mini.texi \
+	xemacs/misc.texi \
+	xemacs/mouse.texi \
+	xemacs/mule.texi \
+	xemacs/new.texi \
+	xemacs/packages.texi \
+	xemacs/picture.texi \
+	xemacs/programs.texi \
+	xemacs/reading.texi \
+	xemacs/regs.texi \
+	xemacs/search.texi \
+	xemacs/sending.texi \
+	xemacs/startup.texi \
+	xemacs/text.texi \
+	xemacs/trouble.texi \
+	xemacs/undo.texi \
+	xemacs/windows.texi \
+	xemacs/xemacs.texi
+
+lispref-srcs = \
+	lispref/abbrevs.texi \
+	lispref/annotations.texi \
+	lispref/back.texi \
+	lispref/backups.texi \
+	lispref/buffers.texi \
+	lispref/building.texi \
+	lispref/commands.texi \
+	lispref/compile.texi \
+	lispref/consoles-devices.texi \
+	lispref/control.texi \
+	lispref/customize.texi \
+	lispref/databases.texi \
+	lispref/debugging.texi \
+	lispref/dialog.texi \
+	lispref/display.texi \
+	lispref/dragndrop.texi \
+	lispref/edebug-inc.texi \
+	lispref/edebug.texi \
+	lispref/errors.texi \
+	lispref/eval.texi \
+	lispref/extents.texi \
+	lispref/faces.texi \
+	lispref/files.texi \
+	lispref/frames.texi \
+	lispref/functions.texi \
+	lispref/glyphs.texi \
+	lispref/hash-tables.texi \
+	lispref/help.texi \
+	lispref/hooks.texi \
+	lispref/index.texi \
+	lispref/internationalization.texi \
+	lispref/intro.texi \
+	lispref/keymaps.texi \
+	lispref/ldap.texi \
+	lispref/lispref.texi \
+	lispref/lists.texi \
+	lispref/loading.texi \
+	lispref/locals.texi \
+	lispref/macros.texi \
+	lispref/maps.texi \
+	lispref/markers.texi \
+	lispref/menus.texi \
+	lispref/minibuf.texi \
+	lispref/modes.texi \
+	lispref/mouse.texi \
+	lispref/mule.texi \
+	lispref/numbers.texi \
+	lispref/objects.texi \
+	lispref/os.texi \
+	lispref/packaging.texi \
+	lispref/positions.texi \
+	lispref/processes.texi \
+	lispref/range-tables.texi \
+	lispref/scrollbars.texi \
+	lispref/searching.texi \
+	lispref/sequences.texi \
+	lispref/specifiers.texi \
+	lispref/streams.texi \
+	lispref/strings.texi \
+	lispref/symbols.texi \
+	lispref/syntax.texi \
+	lispref/text.texi \
+	lispref/tips.texi \
+	lispref/toolbar.texi \
+	lispref/tooltalk.texi \
+	lispref/variables.texi \
+	lispref/windows.texi \
+	lispref/x-windows.texi
+
+internals-srcs = \
+	internals/internals.texi
+
+new-users-guide-srcs = \
+	new-users-guide/custom1.texi \
+	new-users-guide/custom2.texi \
+	new-users-guide/edit.texi \
+	new-users-guide/enter.texi \
+	new-users-guide/files.texi \
+	new-users-guide/help.texi \
+	new-users-guide/modes.texi \
+	new-users-guide/new-users-guide.texi \
+	new-users-guide/region.texi \
+	new-users-guide/search.texi \
+	new-users-guide/xmenu.texi
+
+texinfo-srcs = \
+	texinfo/fdl.texi \
+	texinfo/texinfo.texi \
+	texinfo/version.texi
+
+$(INFODIR)/beta.info : beta.texi
+	$(MAKEINFO) -o $(INFODIR)/beta.info beta.texi
+
+$(INFODIR)/cl.info : cl.texi
+	$(MAKEINFO) -o $(INFODIR)/cl.info cl.texi
+
+$(INFODIR)/custom.info : custom.texi
+	$(MAKEINFO) -o $(INFODIR)/custom.info custom.texi
+
+$(INFODIR)/emodules.info : emodules.texi
+	$(MAKEINFO) -o $(INFODIR)/emodules.info emodules.texi
+
+$(INFODIR)/external-widget.info : external-widget.texi
+	$(MAKEINFO) -o $(INFODIR)/external-widget.info external-widget.texi
+
+$(INFODIR)/info.info : info.texi
+	$(MAKEINFO) -o $(INFODIR)/info.info info.texi
+
+$(INFODIR)/standards.info : standards.texi
+	$(MAKEINFO) -o $(INFODIR)/standards.info standards.texi
+
+$(INFODIR)/term.info : term.texi
+	$(MAKEINFO) -o $(INFODIR)/term.info term.texi
+
+$(INFODIR)/termcap.info : termcap.texi
+	$(MAKEINFO) -o $(INFODIR)/termcap.info termcap.texi
+
+$(INFODIR)/widget.info : widget.texi doclicense.texi
+	$(MAKEINFO) -o $(INFODIR)/widget.info widget.texi
+
+$(INFODIR)/xemacs-faq.info : xemacs-faq.texi
+	$(MAKEINFO) -o $(INFODIR)/xemacs-faq.info xemacs-faq.texi
+
+# Manuals with their own subdirectory
+$(INFODIR)/xemacs.info : $(xemacs-srcs)
+	$(MAKEINFO) -P xemacs -o $(INFODIR)/xemacs.info xemacs/xemacs.texi
+
+$(INFODIR)/lispref.info : $(lispref-srcs)
+	$(MAKEINFO) -P lispref -o $(INFODIR)/lispref.info lispref/lispref.texi
+
+$(INFODIR)/internals.info : $(internals-srcs)
+	$(MAKEINFO) -P internals -o $(INFODIR)/internals.info internals/internals.texi
+
+$(INFODIR)/new-users-guide.info : $(new-users-guide-srcs)
+	$(MAKEINFO) -P new-users-guide -o $(INFODIR)/new-users-guide.info new-users-guide/new-users-guide.texi
+
+$(INFODIR)/texinfo.info : $(texinfo-srcs)
+	$(MAKEINFO) -P texinfo -o $(INFODIR)/texinfo.info texinfo/texinfo.texi
+
+xemacs : $(INFODIR)/xemacs.info
+lispref : $(INFODIR)/lispref.info
+internals : $(INFODIR)/internals.info
+new-users-guide.info : $(INFODIR)/new-users-guide.info
+texinfo : $(INFODIR)/texinfo.info
+
+.PHONY : xemacs lispref internals new-users-guide texinfo info dvi pdf
+
+info : $(info_files)
+html : $(html_files)
+
+.texi.dvi:
+	-$(TEXI2DVI) $<
+
+.texi.pdf:
+	-$(TEXI2DVI) --pdf $<
+
+xemacs.dvi : $(xemacs-srcs)
+	$(TEXI2DVI) -I xemacs xemacs/xemacs.texi
+
+lispref.dvi : $(lispref-srcs)
+	$(TEXI2DVI) -I lispref lispref/lispref.texi
+
+internals.dvi : $(internals-srcs)
+	$(TEXI2DVI) -I internals internals/internals.texi
+
+new-users-guide.dvi : $(new-users-guide-srcs)
+	$(TEXI2DVI) -I new-users-guide new-users-guide/new-users-guide.texi
+
+texinfo.dvi : $(texinfo-srcs)
+	$(TEXI2DVI) -I texinfo texinfo/texinfo.texi
+
+dvi : $(dvi_files)
+
+xemacs.pdf: $(xemacs-srcs)
+	$(TEXI2DVI) --pdf -I xemacs xemacs/xemacs.texi
+
+lispref.pdf: $(lispref-srcs)
+	$(TEXI2DVI) --pdf -I lispref lispref/lispref.texi
+
+internals.pdf: $(internals-srcs)
+	$(TEXI2DVI) --pdf -I internals internals/internals.texi
+
+new-users-guide.pdf: $(new-users-guide-srcs)
+	$(TEXI2DVI) --pdf -I new-users-guide new-users-guide/new-users-guide.texi
+
+texinfo.pdf: $(texinfo-srcs)
+	$(TEXI2DVI) --pdf -I texinfo texinfo/texinfo.texi
+
+pdf: $(pdf_files)
+
+.PHONY: mostlyclean clean distclean realclean extraclean
+.PHONY: distclean-noconfig realclean-noconfig extraclean-noconfig
+mostlyclean:
+	$(RM) *.toc *.aux *.log *.op *.cp *.cps *.fn *.fns
+	$(RM) *.ky *.kys *.pg *.pgs *.tp *.tps *.vr *.vrs
+clean: mostlyclean
+	$(RM) core *.dvi *.pdf
+distclean-noconfig: clean
+distclean: distclean-noconfig
+realclean-noconfig: distclean-noconfig
+realclean: distclean
+extraclean-noconfig: realclean-noconfig
+	$(RM) *~ \#* */*~ */\#*
+extraclean: realclean
+	$(RM) *~ \#* */*~ */\#*
+
+############################################################################
+
+$(HTMLDIR)/beta.html : beta.texi
+	$(TEXI2HTML_NOSPLIT) beta.texi
+
+$(HTMLDIR)/cl.html : cl.texi
+	$(TEXI2HTML_SPLIT) cl.texi
+
+$(HTMLDIR)/custom.html : custom.texi
+	$(TEXI2HTML_SPLIT) custom.texi
+
+$(HTMLDIR)/emodules.html : emodules.texi
+	$(TEXI2HTML_SPLIT) emodules.texi
+
+$(HTMLDIR)/external-widget.html : external-widget.texi
+	$(TEXI2HTML_SPLIT) external-widget.texi
+
+$(HTMLDIR)/info.html : info.texi
+	$(TEXI2HTML_SPLIT) info.texi
+
+$(HTMLDIR)/standards.html : standards.texi
+	$(TEXI2HTML_SPLIT) standards.texi
+
+$(HTMLDIR)/term.html : term.texi
+	$(TEXI2HTML_SPLIT) term.texi
+
+$(HTMLDIR)/termcap.html : termcap.texi
+	$(TEXI2HTML_SPLIT) termcap.texi
+
+$(HTMLDIR)/widget.html : widget.texi
+	$(TEXI2HTML_SPLIT) widget.texi
+
+$(HTMLDIR)/xemacs-faq.html : xemacs-faq.texi
+	$(TEXI2HTML_NOSPLIT) xemacs-faq.texi
+	$(TEXI2HTML_SPLIT) -top_file xemacs-faq_1.html xemacs-faq.texi
+	$(CP) $(PHOTODIR)/ben.png $(HTMLDIR)
+	$(CP) $(PHOTODIR)/cthomp.png $(HTMLDIR)
+	$(CP) $(PHOTODIR)/hniksic.png $(HTMLDIR)
+	$(CP) $(PHOTODIR)/jwz.png $(HTMLDIR)
+	$(CP) $(PHOTODIR)/martin.png $(HTMLDIR)
+	$(CP) $(PHOTODIR)/mly.png $(HTMLDIR)
+	$(CP) $(PHOTODIR)/piper.png $(HTMLDIR)
+	$(CP) $(PHOTODIR)/slb.png $(HTMLDIR)
+
+# Manuals with their own subdirectory
+$(HTMLDIR)/xemacs.html : $(xemacs-srcs)
+	$(TEXI2HTML_SPLIT) xemacs/xemacs.texi
+
+$(HTMLDIR)/lispref.html : $(lispref-srcs)
+	$(TEXI2HTML_SPLIT) lispref/lispref.texi
+
+$(HTMLDIR)/internals.html : $(internals-srcs)
+	$(TEXI2HTML_SPLIT) internals/internals.texi
+
+$(HTMLDIR)/new-users-guide.html : $(new-users-guide-srcs)
+	$(TEXI2HTML_SPLIT) new-users-guide/new-users-guide.texi
+
+$(HTMLDIR)/texinfo.html : $(texinfo-srcs)
+	$(TEXI2HTML_SPLIT) texinfo/texinfo.texi
+
+xemacs : $(HTMLDIR)/xemacs.html
+lispref : $(HTMLDIR)/lispref.html
+internals : $(HTMLDIR)/internals.html
+new-users-guide.html : $(HTMLDIR)/new-users-guide.html
+texinfo : $(HTMLDIR)/texinfo.html
+
+html : $(html_files)

File man/lispref/packaging.texi

 @item GNU make 
 (3.79 or later preferred).
 @item makeinfo 
-(4.2 from texinfo-4.2)
+(4.12 from texinfo-4.12)
 @item GNU tar
 (or equivalent).
 @item GNU gzip

File man/xemacs/packages.texi

 @item GNU make 
 (3.75 or later preferred).
 @item makeinfo 
-(4.2 from GNU texinfo 4.2 or later required).
+(4.12 from GNU texinfo 4.12 or later required).
 @item GNU tar
 (or equivalent).
 @item GNU gzip