* Makefile.am (amfiles): Added texibuild.am.
authorTom Tromey <tromey@redhat.com>
Sun, 25 Feb 2001 04:37:52 +0000 (04:37 +0000)
committerTom Tromey <tromey@redhat.com>
Sun, 25 Feb 2001 04:37:52 +0000 (04:37 +0000)
* texibuild.am: New file.
* tests/Makefile.am (TESTS): Added texinfo9.test.
* tests/texinfo9.test: New file.
* automake.in (handle_texinfo): Keep track of suffixes used.  Give
error if suffix unrecognized.  Removed extraneous newline.

13 files changed:
ChangeLog
Makefile.am
Makefile.in
TODO
automake.in
lib/am/Makefile.am
lib/am/texibuild.am [new file with mode: 0644]
lib/am/texinfos.am
tests/Makefile.am
tests/Makefile.in
tests/texinfo9.test [new file with mode: 0755]
texibuild.am [new file with mode: 0644]
texinfos.am

index 0ce8de1..91db7f8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,18 @@
+2001-02-24  Tom Tromey  <tromey@redhat.com>
+
+       * Makefile.am (amfiles): Added texibuild.am.
+       * texibuild.am: New file.
+       * tests/Makefile.am (TESTS): Added texinfo9.test.
+       * tests/texinfo9.test: New file.
+       * automake.in (handle_texinfo): Keep track of suffixes used.  Give
+       error if suffix unrecognized.  Removed extraneous newline.
+
 2001-02-23  Akim Demaille  <akim@epita.fr>
 
        * automake.in (&am_install_var): Don't hook on the clean targets
        and .PHONY.
        * data-clean.am, java-clean.am, libs-clean.am, lisp-clean.am,
-       * ltlib-clean.am, progs-clean.am, python-clean.am,  tags-clean.am:
+       * ltlib-clean.am, progs-clean.am, python-clean.am, tags-clean.am:
        Do it.
 
 2001-02-23  Akim Demaille  <akim@epita.fr>
index fd07f4c..9d44eba 100644 (file)
@@ -17,7 +17,7 @@ java-clean.am java.am kr-extra.am library.am libs-clean.am libs.am \
 libtool.am lisp-clean.am lisp.am ltlib-clean.am ltlib.am ltlibrary.am \
 mans-vars.am mans.am multilib.am program.am progs-clean.am progs.am \
 python.am python-clean.am remake-hdr.am remake.am scripts.am \
-subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am
+subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am texibuild.am
 
 dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \
 $(amfiles)
index f8fcade..5508d55 100644 (file)
@@ -92,7 +92,7 @@ java-clean.am java.am kr-extra.am library.am libs-clean.am libs.am \
 libtool.am lisp-clean.am lisp.am ltlib-clean.am ltlib.am ltlibrary.am \
 mans-vars.am mans.am multilib.am program.am progs-clean.am progs.am \
 python.am python-clean.am remake-hdr.am remake.am scripts.am \
-subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am
+subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am texibuild.am
 
 
 dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \
@@ -130,12 +130,12 @@ DVIS = automake.dvi
 TEXINFOS = automake.texi
 DATA =  $(dist_pkgdata_DATA) $(dist_script_DATA)
 
-DIST_COMMON =  mkinstalldirs automake.in install-sh version.texi \
-aclocal.m4 README-alpha ansi2knr.c Makefile.am mdate-sh NEWS COPYING \
-stamp-vti ansi2knr.1 AUTHORS compile Makefile.in configure.in README \
-depcomp THANKS configure ylwrap elisp-comp py-compile ChangeLog missing \
-config.sub texinfo.tex INSTALL $(dist_script_DATA) aclocal.in \
-config.guess TODO $(dist_pkgdata_DATA)
+DIST_COMMON =  README $(dist_pkgdata_DATA) $(dist_script_DATA) AUTHORS \
+COPYING ChangeLog INSTALL Makefile.am Makefile.in NEWS README-alpha \
+THANKS TODO aclocal.in aclocal.m4 ansi2knr.1 ansi2knr.c automake.in \
+compile config.guess config.sub configure configure.in depcomp \
+elisp-comp install-sh mdate-sh missing mkinstalldirs py-compile \
+stamp-vti texinfo.tex version.texi ylwrap
 
 DIST_SUBDIRS =  $(SUBDIRS)
 all: all-recursive
@@ -206,7 +206,6 @@ maintainer-clean-vti:
 automake.info: automake.texi $(srcdir)/version.texi
 automake.dvi: automake.texi $(srcdir)/version.texi
 
-
 DVIPS = dvips
 
 .texi.info:
@@ -222,34 +221,6 @@ DVIPS = dvips
        @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
        cd $(srcdir) \
          && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-
-.texinfo.info:
-       @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-       cd $(srcdir) \
-         && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-
-.texinfo:
-       @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-       cd $(srcdir) \
-         && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-
-.texinfo.dvi:
-       TEXINPUTS=$(srcdir):$$TEXINPUTS \
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi.info:
-       @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-       cd $(srcdir) \
-         && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-
-.txi.dvi:
-       TEXINPUTS=$(srcdir):$$TEXINPUTS \
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi:
-       @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-       cd $(srcdir) \
-         && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
 .dvi.ps:
        $(DVIPS) $< -o $@
 
@@ -572,9 +543,27 @@ maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -rm -f Makefile.in
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+dist-all: dist
+
+distclean: distclean-recursive
+       -rm -f config.status
+
+distclean-am: clean-am distclean-generic distclean-tags
+
+maintainer-clean: maintainer-clean-recursive
+       -rm -f config.status
+
 maintainer-clean-am: distclean-am maintainer-clean-aminfo \
        maintainer-clean-generic maintainer-clean-vti
 
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
+
 .PHONY: all all-am all-recursive check check-am check-recursive clean \
        clean-generic clean-recursive dist dist-all distcheck distclean \
        distclean-generic distclean-recursive distclean-tags distdir \
@@ -593,24 +582,6 @@ maintainer-clean-am: distclean-am maintainer-clean-aminfo \
        uninstall-dist_pkgdataDATA uninstall-dist_scriptDATA \
        uninstall-info uninstall-recursive
 
-distclean: distclean-recursive
-       -rm -f config.status
-
-clean-am: clean-generic mostlyclean-am
-
-distclean-am: clean-am distclean-generic distclean-tags
-
-dist-all: dist
-
-maintainer-clean: maintainer-clean-recursive
-       -rm -f config.status
-
-mostlyclean-am: mostlyclean-aminfo mostlyclean-generic mostlyclean-vti
-
-mostlyclean: mostlyclean-recursive
-
-clean: clean-recursive
-
 
 install-data-hook:
        @$(POST_INSTALL)
diff --git a/TODO b/TODO
index 8750ae6..fbf67c0 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,6 @@
+add an error if the user makefile.am violates our
+   namespace rules
+
 have 'make check' print tests which are skipped
 
 we need a document describing automake from the end user's point of view
index d172437..44889c1 100755 (executable)
@@ -2290,11 +2290,20 @@ sub handle_texinfo
     my @texi_cleans;
     my $canonical;
 
+    my %texi_suffixes;
     foreach my $info_cursor (@texis)
     {
         my $infobase = $info_cursor;
         $infobase =~ s/\.(txi|texinfo|texi)$//;
 
+       if ($infobase eq $info_cursor)
+       {
+           # FIXME: report line number.
+           &am_error ("texinfo file \`$info_cursor' has unrecognized extension");
+           next;
+       }
+       $texi_suffixes{$1} = 1;
+
        # If 'version.texi' is referenced by input file, then include
        # automatic versioning capability.
        my ($out_file, $vtexi) = &scan_texinfo_file ($relative_dir
@@ -2368,7 +2377,7 @@ sub handle_texinfo
                          . join (' ', @texi_deps)
                          . "\n" . $infobase . ".dvi: "
                          . join (' ', @texi_deps)
-                         . "\n\n");
+                         . "\n");
 
        push (@info_deps_list, $out_file);
        push (@dvis_list, $infobase . '.dvi');
@@ -2424,12 +2433,18 @@ sub handle_texinfo
         $texinfodir = '$(srcdir)';
        $need_texi_file = 1;
     }
+
     my $xform =
       &transform ('TEXINFODIR' => $texinfodir,
                  'TEXICLEAN' => &pretty_print_internal ("\t-rm -f",
                                                         "\t  ",
                                                         @texi_cleans));
-
+    foreach my $txsfx (sort keys %texi_suffixes)
+    {
+       $output_rules .= &file_contents ('texibuild',
+                                        $xform
+                                        . &transform ('SUFFIX' => $txsfx));
+    }
     $output_rules .= &file_contents ('texinfos', $xform);
     push (@dist_targets, 'dist-info');
 
index fd07f4c..9d44eba 100644 (file)
@@ -17,7 +17,7 @@ java-clean.am java.am kr-extra.am library.am libs-clean.am libs.am \
 libtool.am lisp-clean.am lisp.am ltlib-clean.am ltlib.am ltlibrary.am \
 mans-vars.am mans.am multilib.am program.am progs-clean.am progs.am \
 python.am python-clean.am remake-hdr.am remake.am scripts.am \
-subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am
+subdirs.am tags-clean.am tags.am texi-vers.am texinfos.am texibuild.am
 
 dist_pkgdata_DATA = COPYING INSTALL texinfo.tex ansi2knr.c ansi2knr.1 \
 $(amfiles)
diff --git a/lib/am/texibuild.am b/lib/am/texibuild.am
new file mode 100644 (file)
index 0000000..0faf14d
--- /dev/null
@@ -0,0 +1,54 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+## Free Software Foundation, Inc.
+
+## This program 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.
+
+## This program 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 this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+## 02111-1307, USA.
+
+.@SUFFIX@.info:
+## We want to force the .info file to be built in srcdir.  This is
+## probably the simplest way.  However, at Cygnus .info files are
+## always put into the build directory.  So at runtime we select which
+## rule to use.
+## Note that we also remove the possible output files before running
+## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
+## using --no-split), you'll be left with some dead info files lying
+## around -- dead files which will end up in the distribution.
+?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?!CYGNUS?      cd $(srcdir) \
+?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
+?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
+
+.@SUFFIX@.dvi:
+       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
+## Must set MAKEINFO like this so that version.texi will be found even
+## if it is in srcdir.
+         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.@SUFFIX@:
+## We want to force the .info file to be built in srcdir.  This is
+## probably the simplest way.  However, at Cygnus .info files are
+## always put into the build directory.  So at runtime we select which
+## rule to use.
+## Note that we also remove the possible output files before running
+## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
+## using --no-split), you'll be left with some dead info files lying
+## around -- dead files which will end up in the distribution.
+?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?!CYGNUS?      cd $(srcdir) \
+?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
+?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
index 6db30f5..b523642 100644 (file)
 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ## 02111-1307, USA.
 
-## FIXME: should repeat all the stuff in this file.  Instead should
-## generate the contents in a smarter way.
-
-.texi.info:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texi.dvi:
-       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir.
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.texi:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo.info:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo.dvi:
-       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir.
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi.info:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.txi.dvi:
-       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir.
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
 ## The way to make PostScript, for those who want it.
 DVIPS = dvips
 .dvi.ps:
index 1c46b23..ed84158 100644 (file)
@@ -259,6 +259,7 @@ texinfo5.test \
 texinfo6.test \
 texinfo7.test \
 texinfo8.test \
+texinfo9.test \
 unused.test \
 version.test \
 version2.test \
index 807ed84..c932757 100644 (file)
@@ -336,6 +336,7 @@ texinfo5.test \
 texinfo6.test \
 texinfo7.test \
 texinfo8.test \
+texinfo9.test \
 unused.test \
 version.test \
 version2.test \
@@ -482,28 +483,28 @@ maintainer-clean-generic:
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -rm -f Makefile.in
-maintainer-clean-am: distclean-am maintainer-clean-generic
+clean: clean-am
 
-.PHONY: all all-am check check-TESTS check-am clean clean-generic \
-       distclean distclean-generic distdir dvi dvi-am info info-am \
-       install install-am install-data install-data-am install-exec \
-       install-exec-am install-strip installcheck installcheck-am \
-       installdirs maintainer-clean maintainer-clean-generic \
-       mostlyclean mostlyclean-generic uninstall uninstall-am
+clean-am: clean-generic mostlyclean-am
 
 distclean: distclean-am
 
-clean-am: clean-generic mostlyclean-am
-
 distclean-am: clean-am distclean-generic distclean-local
 
 maintainer-clean: maintainer-clean-am
 
-mostlyclean-am: mostlyclean-generic
+maintainer-clean-am: distclean-am maintainer-clean-generic
 
 mostlyclean: mostlyclean-am
 
-clean: clean-am
+mostlyclean-am: mostlyclean-generic
+
+.PHONY: all all-am check check-TESTS check-am clean clean-generic \
+       distclean distclean-generic distdir dvi dvi-am info info-am \
+       install install-am install-data install-data-am install-exec \
+       install-exec-am install-strip installcheck installcheck-am \
+       installdirs maintainer-clean maintainer-clean-generic \
+       mostlyclean mostlyclean-generic uninstall uninstall-am
 
 
 distclean-local:
diff --git a/tests/texinfo9.test b/tests/texinfo9.test
new file mode 100755 (executable)
index 0000000..5ae8c06
--- /dev/null
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+# Make sure we only create dist-info target once.
+# This is just an example -- basically for many targets in texinfos.am
+# we only want them to appear once.
+
+. $srcdir/defs || exit 1
+
+cat > Makefile.am << 'END'
+info_TEXINFOS = maude.texi liver.txi heart.texinfo
+END
+
+echo '@setfilename maude.info' > maude.texi
+echo '@setfilename liver.info' > liver.txi
+echo '@setfilename heart.info' > heart.texinfo
+: > texinfo.tex
+
+$AUTOMAKE || exit 1
+
+test `grep '^dist-info:' Makefile.in | wc -l` -eq 1
diff --git a/texibuild.am b/texibuild.am
new file mode 100644 (file)
index 0000000..0faf14d
--- /dev/null
@@ -0,0 +1,54 @@
+## automake - create Makefile.in from Makefile.am
+## Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
+## Free Software Foundation, Inc.
+
+## This program 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.
+
+## This program 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 this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+## 02111-1307, USA.
+
+.@SUFFIX@.info:
+## We want to force the .info file to be built in srcdir.  This is
+## probably the simplest way.  However, at Cygnus .info files are
+## always put into the build directory.  So at runtime we select which
+## rule to use.
+## Note that we also remove the possible output files before running
+## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
+## using --no-split), you'll be left with some dead info files lying
+## around -- dead files which will end up in the distribution.
+?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?!CYGNUS?      cd $(srcdir) \
+?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
+?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
+
+.@SUFFIX@.dvi:
+       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
+## Must set MAKEINFO like this so that version.texi will be found even
+## if it is in srcdir.
+         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
+
+.@SUFFIX@:
+## We want to force the .info file to be built in srcdir.  This is
+## probably the simplest way.  However, at Cygnus .info files are
+## always put into the build directory.  So at runtime we select which
+## rule to use.
+## Note that we also remove the possible output files before running
+## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
+## using --no-split), you'll be left with some dead info files lying
+## around -- dead files which will end up in the distribution.
+?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?!CYGNUS?      cd $(srcdir) \
+?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
+?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
+?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
index 6db30f5..b523642 100644 (file)
 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 ## 02111-1307, USA.
 
-## FIXME: should repeat all the stuff in this file.  Instead should
-## generate the contents in a smarter way.
-
-.texi.info:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texi.dvi:
-       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir.
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.texi:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo.info:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.texinfo.dvi:
-       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir.
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi.info:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
-.txi.dvi:
-       TEXINPUTS=@TEXINFODIR@:$$TEXINPUTS \
-## Must set MAKEINFO like this so that version.texi will be found even
-## if it is in srcdir.
-         MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) $<
-
-.txi:
-## We want to force the .info file to be built in srcdir.  This is
-## probably the simplest way.  However, at Cygnus .info files are
-## always put into the build directory.  So at runtime we select which
-## rule to use.
-## Note that we also remove the possible output files before running
-## makeinfo.  Otherwise, if the texinfo file shrinks (or if you start
-## using --no-split), you'll be left with some dead info files lying
-## around -- dead files which will end up in the distribution.
-?!CYGNUS?      @cd $(srcdir) && rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?!CYGNUS?      cd $(srcdir) \
-?!CYGNUS?        && $(MAKEINFO) `echo $< | sed 's,.*/,,'`
-?CYGNUS?       @rm -f $@ $@-[0-9] $@-[0-9][0-9]
-?CYGNUS?       $(MAKEINFO) -I $(srcdir) $<
-
 ## The way to make PostScript, for those who want it.
 DVIPS = dvips
 .dvi.ps: