2 # Copyright (C) 2012-2017 Free Software Foundation, Inc.
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <http://www.gnu.org/licenses/>.
17 # The info, html, pdf, ps and dvi targets shouldn't let clutter in the
18 # build directory. Related to automake bug#11146.
20 required
='makeinfo tex texi2dvi dvips'
23 cat >> configure.ac
<<'END'
24 AC_CONFIG_FILES([sub/Makefile])
28 cat > Makefile.am
<< 'END'
29 all-local
: ps pdf dvi html
# For "make distcheck".
30 info_TEXINFOS
= foo.texi
doc
/bar.texi baz.texi
36 cat > sub
/Makefile.am
<< 'END'
37 all-local
: ps pdf dvi html
# For "make distcheck".
38 info_TEXINFOS
= baz.texi
41 cat > foo.texi
<< 'END'
51 cat > doc
/bar.texi
<< 'END'
57 @include version2.texi
61 cat > baz.texi
<< 'END'
86 $AUTOMAKE --add-missing
91 # Try one by one, to ensure later targets don't involuntarily
92 # clean up potential cruft left by earlier ones.
93 for fmt in info pdf ps dvi html all
; do
106 for x
in info pdf ps dvi
; do
125 ls -d foo
* baz
* sub
/baz
* doc
/bar
* > lst
126 basename_rx
='(foo|doc/bar|baz|sub/baz)'
128 pdf
) extension_rx
="(texi|pdf|t2p)";;
129 dvi
) extension_rx
="(texi|dvi|t2d)";;
130 ps
) extension_rx
="(texi|ps|dvi|t2d)";;
131 info
) extension_rx
="(texi|info)";;
132 html
) extension_rx
="(texi|html)";;
133 all
) extension_rx
="(texi|html|info|pdf|ps|dvi|t2[pd])";;
134 *) fatal_
"unreachable code reached";;
136 $EGREP -v "^$basename_rx\.$extension_rx$" lst
&& exit 1
137 # Cleanup for checks on the next format.
139 info
) rm -f *.info
doc
/*.info sub
/*.info
;;