| Fred Drake | 566b6d5 | 1998-10-27 21:59:03 +0000 | [diff] [blame] | 1 | #! /usr/bin/env ksh | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 2 |  | 
| Fred Drake | c794c38 | 1998-08-12 17:50:07 +0000 | [diff] [blame] | 3 | # This script may be invoked by naming it directly or via a shell alias, | 
|  | 4 | # but NOT through a symbolic link.  Perhaps a future version will allow | 
|  | 5 | # the use of a symbolic link. | 
|  | 6 | # | 
|  | 7 | # Using a symbolic link will cause the script to not be able to locate | 
|  | 8 | # its support files. | 
|  | 9 |  | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 10 | MYDIR=`dirname $0` | 
| Fred Drake | f558e31 | 1998-03-24 17:48:20 +0000 | [diff] [blame] | 11 | WORKDIR=`pwd` | 
|  | 12 | cd $MYDIR | 
|  | 13 | MYDIR=`pwd` | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 14 | cd .. | 
|  | 15 | TOPDIR=`pwd` | 
| Fred Drake | f558e31 | 1998-03-24 17:48:20 +0000 | [diff] [blame] | 16 | cd $WORKDIR | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 17 |  | 
|  | 18 | # DEFAULT_FORMAT must be upper case... | 
|  | 19 | DEFAULT_FORMAT=PDF | 
|  | 20 | USE_DEFAULT_FORMAT=true | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 21 | DISCARD_TEMPS=true | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 22 |  | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 23 | ICONSERVER='' | 
|  | 24 |  | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 25 | TEMPBASE=mkhowto-$LOGNAME-$$ | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 26 |  | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 27 | L2H_INIT_FILE=$TOPDIR/perl/l2hinit.perl | 
|  | 28 | L2H_AUX_INIT_FILE=/usr/tmp/$TEMPBASE.perl | 
|  | 29 |  | 
|  | 30 | LOGFILE=/usr/tmp/$TEMPBASE.how | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 31 | LOGGING='' | 
|  | 32 |  | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 33 | usage() { | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 34 | MYNAME=`basename $0` | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 35 | cat <<EOF | 
| Fred Drake | a5de730 | 1998-10-19 19:14:42 +0000 | [diff] [blame] | 36 | usage: $MYNAME [options...] file ... | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 37 |  | 
|  | 38 | Options specifying formats to build: | 
|  | 39 | --html		HyperText Markup Language | 
|  | 40 | --pdf		Portable Document Format (default) | 
|  | 41 | --ps		PostScript | 
|  | 42 | --dvi		"DeVice Indepentent" format from TeX | 
| Fred Drake | a5de730 | 1998-10-19 19:14:42 +0000 | [diff] [blame] | 43 | --text		ASCII text (requires lynx) | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 44 |  | 
| Fred Drake | 9f6f0da | 1998-08-12 18:07:51 +0000 | [diff] [blame] | 45 | More than one output format may be specified, or --all. | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 46 |  | 
|  | 47 | HTML options: | 
|  | 48 | --address, -a	Specify an address for page footers. | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 49 | --link		Specify the number of levels to include on each page. | 
| Fred Drake | 437ff86 | 1998-10-07 16:46:54 +0000 | [diff] [blame] | 50 | --split, -s		Specify a section level for page splitting, default: $MAX_SPLIT_DEPTH. | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 51 | --iconserver, -i	Specify location of icons (default: ../). | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 52 |  | 
|  | 53 | Other options: | 
| Fred Drake | 1a3541c | 1998-05-11 19:04:56 +0000 | [diff] [blame] | 54 | --a4		Format for A4 paper. | 
| Fred Drake | d5d473f | 1998-05-11 20:40:24 +0000 | [diff] [blame] | 55 | --letter		Format for US letter paper (the default). | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 56 | --help, -H		Show this text. | 
|  | 57 | --logging, -l	Log stdout and stderr to a file (*.how). | 
|  | 58 | --debugging, -D	Echo commands as they are executed. | 
|  | 59 | --keep, -k		Keep temporary files around. | 
|  | 60 | --quiet, -q		Do not print command output to stdout. | 
|  | 61 | (stderr is also lost,  sorry; see *.how for errors) | 
|  | 62 |  | 
|  | 63 | EOF | 
| Fred Drake | 9f6f0da | 1998-08-12 18:07:51 +0000 | [diff] [blame] | 64 | if [ "$2" ] ; then | 
|  | 65 | echo "$2" | 
|  | 66 | echo | 
|  | 67 | fi | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 68 | exit $1 | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 69 | } | 
|  | 70 |  | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 71 | # These are LaTeX2HTML controls; they reflect l2h variables of the same name. | 
|  | 72 | # The values here are the defaults after modification by perl/l2hinit.perl. | 
|  | 73 | # | 
|  | 74 | ADDRESS='' | 
|  | 75 | MAX_LINK_DEPTH=3 | 
| Fred Drake | 437ff86 | 1998-10-07 16:46:54 +0000 | [diff] [blame] | 76 | MAX_SPLIT_DEPTH=6 | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 77 |  | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 78 | build_html() { | 
| Fred Drake | 19c7c84 | 1998-05-07 21:20:39 +0000 | [diff] [blame] | 79 | TEXFILE=`kpsewhich $1.tex` | 
| Fred Drake | b521095 | 1998-10-16 17:34:34 +0000 | [diff] [blame] | 80 | TEXFILE="${TEXFILE#./}" | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 81 | BUILDDIR=${2:-$1} | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 82 | latex2html \ | 
|  | 83 | -init_file $L2H_INIT_FILE \ | 
|  | 84 | -init_file $L2H_AUX_INIT_FILE \ | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 85 | -dir $BUILDDIR $TEXFILE || exit $? | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 86 | if [ "$MAX_SPLIT_DEPTH" -ne 1 ] ; then | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 87 | (cd $BUILDDIR; $MYDIR/node2label.pl *.html) || exit $? | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 88 | fi | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 89 | } | 
|  | 90 |  | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 91 | use_latex() { | 
|  | 92 | # two args:  <file> <latextype> | 
|  | 93 | MYFILE=$1 | 
|  | 94 | MYLATEX=$2 | 
|  | 95 | # | 
|  | 96 | # We really have to do it three times to get all the page numbers right, | 
|  | 97 | # since the length of the ToC makes a real difference. | 
|  | 98 | # | 
|  | 99 | $MYDIR/newind.py >$MYFILE.ind | 
|  | 100 | $MYDIR/newind.py modindex >mod$MYFILE.ind | 
|  | 101 | $MYLATEX $MYFILE || exit $? | 
|  | 102 | if [ -f mod$MYFILE.idx ] ; then | 
|  | 103 | makeindex mod$MYFILE.idx | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 104 | fi | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 105 | if [ -f $MYFILE.idx ] ; then | 
|  | 106 | $MYDIR/fix_hack $MYFILE.idx | 
|  | 107 | makeindex $MYFILE.idx | 
|  | 108 | $MYDIR/indfix.py $MYFILE.ind | 
|  | 109 | fi | 
| Fred Drake | 566b6d5 | 1998-10-27 21:59:03 +0000 | [diff] [blame] | 110 | if [ `grep -c '^\\\\bibdata{' $MYFILE.aux` -ne 0 ] ; then | 
|  | 111 | USE_BIBTEX=true | 
|  | 112 | bibtex $MYFILE | 
|  | 113 | else | 
|  | 114 | USE_BIBTEX='' | 
|  | 115 | fi | 
| Fred Drake | 8cab549 | 1998-07-23 19:13:52 +0000 | [diff] [blame] | 116 | if [ -f $MYFILE.syn ] ; then | 
|  | 117 | # This hack is due to a bug with the module synopsis support that | 
|  | 118 | # causes the last module synopsis to be written out twice in | 
|  | 119 | # howto documents (not present for manuals).  Repeated below. | 
|  | 120 | uniq $MYFILE.syn >TEMP.syn && mv TEMP.syn $MYFILE.syn || exit $? | 
|  | 121 | fi | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 122 | $MYLATEX $MYFILE || exit $? | 
|  | 123 | if [ -f mod$MYFILE.idx ] ; then | 
|  | 124 | makeindex mod$MYFILE.idx | 
|  | 125 | fi | 
|  | 126 | if [ -f $MYFILE.idx ] ; then | 
|  | 127 | $MYDIR/fix_hack $MYFILE.idx || exit $? | 
| Fred Drake | fbdddde | 1998-10-19 21:48:05 +0000 | [diff] [blame] | 128 | makeindex -s $TOPDIR/texinputs/python.ist $MYFILE.idx || exit $? | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 129 | fi | 
| Fred Drake | f4fc476 | 1998-05-14 20:03:14 +0000 | [diff] [blame] | 130 | if [ -f $MYFILE.toc -a $MYLATEX = pdflatex ] ; then | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 131 | $MYDIR/toc2bkm.py -c section $MYFILE | 
|  | 132 | fi | 
| Fred Drake | 8cab549 | 1998-07-23 19:13:52 +0000 | [diff] [blame] | 133 | if [ -f $MYFILE.syn ] ; then | 
|  | 134 | uniq $MYFILE.syn >TEMP.syn && mv TEMP.syn $MYFILE.syn || exit $? | 
|  | 135 | fi | 
| Fred Drake | 566b6d5 | 1998-10-27 21:59:03 +0000 | [diff] [blame] | 136 | if [ "$USE_BIBTEX" ] ; then | 
|  | 137 | bibtex $MYFILE | 
|  | 138 | fi | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 139 | $MYLATEX $MYFILE || exit $? | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 140 | } | 
|  | 141 |  | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 142 | build_dvi() { | 
|  | 143 | use_latex $1 latex | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 144 | } | 
|  | 145 |  | 
|  | 146 | build_pdf() { | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 147 | use_latex $1 pdflatex | 
|  | 148 | } | 
|  | 149 |  | 
|  | 150 | build_ps() { | 
| Fred Drake | 7984256 | 1998-04-17 20:06:16 +0000 | [diff] [blame] | 151 | dvips -N0 -o $1.ps $1 || exit $? | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 152 | } | 
|  | 153 |  | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 154 | build_text() { | 
|  | 155 | lynx -nolist -dump $2/index.html >$1.txt | 
|  | 156 | } | 
|  | 157 |  | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 158 | l2hoption() { | 
|  | 159 | if [ "$2" ] ; then | 
| Fred Drake | ca6d635 | 1998-11-30 20:30:26 +0000 | [diff] [blame^] | 160 | VALUE=`echo "$2" | sed 's/[$"@]/\\\\&/g'` | 
|  | 161 | echo "\$$1 = \"$VALUE\";" >>$L2H_AUX_INIT_FILE | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 162 | fi | 
|  | 163 | } | 
|  | 164 |  | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 165 | cleanup() { | 
| Fred Drake | 8cab549 | 1998-07-23 19:13:52 +0000 | [diff] [blame] | 166 | rm -f $1.aux $1.log $1.out $1.toc $1.bkm $1.idx $1.ilg $1.ind $1.syn | 
| Fred Drake | c9b8a57 | 1998-04-29 21:28:25 +0000 | [diff] [blame] | 167 | rm -f mod$1.idx mod$1.ilg mod$1.ind | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 168 | if [ ! "$BUILD_DVI" ] ; then | 
| Fred Drake | 19c7c84 | 1998-05-07 21:20:39 +0000 | [diff] [blame] | 169 | rm -f $1.dvi | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 170 | fi | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 171 | rm -rf $1.temp-html | 
| Fred Drake | 8dbf46a | 1998-05-15 17:13:08 +0000 | [diff] [blame] | 172 | rm -f $1/IMG* $1/*.pl $1/WARNINGS $1/index.dat $1/modindex.dat | 
| Fred Drake | 566b6d5 | 1998-10-27 21:59:03 +0000 | [diff] [blame] | 173 | # bibtex stuff | 
|  | 174 | rm -f $1.bbl $1.blg | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 175 | } | 
|  | 176 |  | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 177 | parse_option() { | 
|  | 178 | # When using a long option with a parameter separated by '=', | 
|  | 179 | # generalize the parsing of the two: | 
|  | 180 | OPTION="$1" | 
|  | 181 | unset VALUE | 
|  | 182 | STUFF=`echo "$1" | grep '^--[-a-zA-Z0-9]*='` | 
|  | 183 | if [ "$STUFF" ] ; then | 
|  | 184 | # This leaves OPTION=--option= and VALUE=value | 
|  | 185 | OPTION=`echo "$STUFF" | sed 's/^\(--[-a-zA-Z0-9]*=\)\(.*\)$/\1/'` | 
|  | 186 | VALUE=`echo "$STUFF" | sed 's/^\(--[-a-zA-Z0-9]*=\)\(.*\)$/\2/'` | 
|  | 187 | fi | 
|  | 188 | } | 
|  | 189 |  | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 190 | # figure out what our targets are: | 
|  | 191 | while [ "$1" ] ; do | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 192 | parse_option "$1" | 
|  | 193 | case "$OPTION" in | 
| Fred Drake | 9f6f0da | 1998-08-12 18:07:51 +0000 | [diff] [blame] | 194 | --all|--al) | 
|  | 195 | BUILD_PDF=true | 
|  | 196 | BUILD_PS=true | 
|  | 197 | BUILD_DVI=true | 
|  | 198 | BUILD_HTML=true | 
|  | 199 | BUILD_TEXT=true | 
|  | 200 | USE_DEFAULT_FORMAT=false | 
|  | 201 | shift 1 | 
|  | 202 | ;; | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 203 | --pdf|--pd) | 
|  | 204 | BUILD_PDF=true | 
|  | 205 | USE_DEFAULT_FORMAT=false | 
|  | 206 | shift 1 | 
|  | 207 | ;; | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 208 | --ps|--postscript|--postscrip|--postscri|--postscr|--postsc|--posts|--post|--pos|--po) | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 209 | BUILD_PS=true | 
|  | 210 | USE_DEFAULT_FORMAT=false | 
|  | 211 | shift 1 | 
|  | 212 | ;; | 
|  | 213 | --dvi|--dv|--d) | 
|  | 214 | BUILD_DVI=true | 
|  | 215 | USE_DEFAULT_FORMAT=false | 
|  | 216 | shift 1 | 
|  | 217 | ;; | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 218 | --html|--htm|--ht) | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 219 | BUILD_HTML=true | 
|  | 220 | USE_DEFAULT_FORMAT=false | 
|  | 221 | shift 1 | 
|  | 222 | ;; | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 223 | --text|--tex|--te|--t) | 
|  | 224 | BUILD_TEXT=true | 
|  | 225 | USE_DEFAULT_FORMAT=false | 
|  | 226 | shift 1 | 
|  | 227 | ;; | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 228 | -H|--help|--hel|--he) | 
|  | 229 | usage 0 | 
|  | 230 | ;; | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 231 | -i|--iconserver|--iconserve|--iconserv|--iconser|--iconse|--icons|--icon|--ico|--ic|--i) | 
|  | 232 | ICONSERVER="$2" | 
|  | 233 | shift 2 | 
|  | 234 | ;; | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 235 | --iconserver=*|--iconserve=*|--iconserv=*|--iconser=*|--iconse=*|--icons=*|--icon=*|--ico=*|--ic=*|--i=*) | 
|  | 236 | ICONSERVER="$VALUE" | 
|  | 237 | shift 1 | 
|  | 238 | ;; | 
| Fred Drake | 3504952 | 1998-05-11 19:04:06 +0000 | [diff] [blame] | 239 | -a|--address|--addres|--addre|-addr|--add|--ad) | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 240 | ADDRESS="$2" | 
|  | 241 | shift 2 | 
|  | 242 | ;; | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 243 | --address=*|--addres=*|--addre=*|-addr=*|--add=*|--ad=*) | 
|  | 244 | ADDRESS="$VALUE" | 
|  | 245 | shift 1 | 
|  | 246 | ;; | 
| Fred Drake | 3504952 | 1998-05-11 19:04:06 +0000 | [diff] [blame] | 247 | --a4) | 
|  | 248 | TEXINPUTS=$TOPDIR/paper-a4:$TEXINPUTS | 
|  | 249 | shift 1 | 
|  | 250 | ;; | 
| Fred Drake | d5d473f | 1998-05-11 20:40:24 +0000 | [diff] [blame] | 251 | --letter|--lette|--lett|--let|--le) | 
|  | 252 | shift 1 | 
|  | 253 | ;; | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 254 | --link|--lin|--li) | 
|  | 255 | LINK="$2" | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 256 | shift 2 | 
|  | 257 | ;; | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 258 | --link=*|--lin=*|--li=*) | 
|  | 259 | LINK="$VALUE" | 
|  | 260 | shift 1 | 
|  | 261 | ;; | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 262 | -s|--split|--spli|--spl|--sp|--s) | 
|  | 263 | MAX_SPLIT_DEPTH="$2" | 
|  | 264 | shift 2 | 
|  | 265 | ;; | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 266 | --split=|--spli=|--spl=|--sp=|--s=) | 
|  | 267 | MAX_SPLIT_DEPTH="$VALUE" | 
|  | 268 | shift 1 | 
|  | 269 | ;; | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 270 | -l|--logging|--loggin|--loggi|--logg|--log|--lo) | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 271 | LOGGING=true | 
|  | 272 | shift 1 | 
|  | 273 | ;; | 
|  | 274 | -D|--debugging|--debuggin|--debuggi|--debugg|--debug|--debu|--deb|--de) | 
|  | 275 | DEBUGGING=true | 
|  | 276 | shift 1 | 
|  | 277 | ;; | 
|  | 278 | -k|--keep|--kee|--ke|--k) | 
|  | 279 | DISCARD_TEMPS='' | 
|  | 280 | shift 1 | 
|  | 281 | ;; | 
| Fred Drake | ac8f91a | 1998-04-02 15:37:13 +0000 | [diff] [blame] | 282 | -q|--quiet|--quie|--qui|--qu|--q) | 
| Fred Drake | 664b36f | 1998-03-11 15:41:21 +0000 | [diff] [blame] | 283 | QUIET=true | 
|  | 284 | shift 1 | 
|  | 285 | ;; | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 286 | --) | 
| Fred Drake | c9b8a57 | 1998-04-29 21:28:25 +0000 | [diff] [blame] | 287 | shift 1 | 
| Fred Drake | 8805354 | 1998-04-24 21:57:12 +0000 | [diff] [blame] | 288 | break | 
|  | 289 | ;; | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 290 | -*) | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 291 | usage 2 "Unknown option: ${VALUE%=}" | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 292 | ;; | 
|  | 293 | *) | 
|  | 294 | break;; | 
|  | 295 | esac | 
|  | 296 | done | 
|  | 297 |  | 
|  | 298 | if [ $# = 0 ] ; then | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 299 | # check for a single .tex file in . | 
|  | 300 | COUNT=`ls -1 *.tex | wc -l | sed 's/[ 	]//g'` | 
|  | 301 | if [ "$COUNT" -eq 1 ] ; then | 
|  | 302 | set -- `ls -1 *.tex` | 
| Fred Drake | 9f6f0da | 1998-08-12 18:07:51 +0000 | [diff] [blame] | 303 | elif [ "$COUNT" -gt 1 ] ; then | 
|  | 304 | usage 2 "Could not deduce which file(s) to process as HOWTO documents." | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 305 | else | 
| Fred Drake | 9f6f0da | 1998-08-12 18:07:51 +0000 | [diff] [blame] | 306 | usage 2 "No file to process." | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 307 | fi | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 308 | fi | 
|  | 309 |  | 
|  | 310 | if [ $USE_DEFAULT_FORMAT = true ] ; then | 
|  | 311 | eval "BUILD_$DEFAULT_FORMAT=true" | 
|  | 312 | fi | 
|  | 313 |  | 
| Fred Drake | 664b36f | 1998-03-11 15:41:21 +0000 | [diff] [blame] | 314 | if [ "$QUIET" ] ; then | 
|  | 315 | exec >/dev/null | 
|  | 316 | fi | 
|  | 317 |  | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 318 | if [ "$DEBUGGING" ] ; then | 
|  | 319 | set -x | 
|  | 320 | fi | 
|  | 321 |  | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 322 | echo '# auxillary init file for latex2html' >$L2H_AUX_INIT_FILE | 
| Fred Drake | a5de730 | 1998-10-19 19:14:42 +0000 | [diff] [blame] | 323 | echo '# generated by mkhowto.sh -- do not edit' >>$L2H_AUX_INIT_FILE | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 324 | if [ "$ICONSERVER" ] ; then | 
|  | 325 | ICONSERVER="${ICONSERVER%/}" | 
|  | 326 | fi | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 327 | l2hoption ICONSERVER "$ICONSERVER" | 
|  | 328 | l2hoption ADDRESS "$ADDRESS" | 
|  | 329 | l2hoption MAX_LINK_DEPTH "$MAX_LINK_DEPTH" | 
|  | 330 | l2hoption MAX_SPLIT_DEPTH "$MAX_SPLIT_DEPTH" | 
|  | 331 | echo '1;' >>$L2H_AUX_INIT_FILE | 
| Fred Drake | f4fc476 | 1998-05-14 20:03:14 +0000 | [diff] [blame] | 332 |  | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 333 | for FILE in $@ ; do | 
| Fred Drake | df825a1 | 1998-05-14 20:36:49 +0000 | [diff] [blame] | 334 | FILEDIR=`dirname $FILE` | 
| Fred Drake | e1feb8f | 1998-08-28 20:21:04 +0000 | [diff] [blame] | 335 | FILE=`basename $FILE .tex` | 
| Fred Drake | f4fc476 | 1998-05-14 20:03:14 +0000 | [diff] [blame] | 336 | # | 
|  | 337 | # Put the directory the .tex file is in is also the first directory in | 
|  | 338 | # TEXINPUTS, to allow files there to override files in the common area. | 
|  | 339 | # | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 340 | TEXINPUTS=$FILEDIR:$TOPDIR/texinputs:$TEXINPUTS | 
| Fred Drake | f4fc476 | 1998-05-14 20:03:14 +0000 | [diff] [blame] | 341 | export TEXINPUTS | 
|  | 342 | # | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 343 | if [ "$BUILD_DVI" -o "$BUILD_PS" ] ; then | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 344 | build_dvi $FILE 2>&1 | tee -a $LOGFILE | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 345 | HAVE_TEMPS=true | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 346 | fi | 
|  | 347 | if [ "$BUILD_PDF" ] ; then | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 348 | build_pdf $FILE 2>&1 | tee -a $LOGFILE | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 349 | HAVE_TEMPS=true | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 350 | fi | 
|  | 351 | if [ "$BUILD_PS" ] ; then | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 352 | build_ps $FILE 2>&1 | tee -a $LOGFILE | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 353 | fi | 
|  | 354 | if [ "$BUILD_HTML" ] ; then | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 355 | if [ ! "$HAVE_TEMPS" ] ; then | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 356 | # need to get aux file | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 357 | build_dvi $FILE 2>&1 | tee -a $LOGFILE | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 358 | HAVE_TEMPS=true | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 359 | fi | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 360 | build_html $FILE $FILE 2>&1 | tee -a $LOGFILE | 
| Fred Drake | a5de730 | 1998-10-19 19:14:42 +0000 | [diff] [blame] | 361 | if [ "$ICONSERVER" = "." ] ; then | 
|  | 362 | cp $TOPDIR/icons/*.gif $FILE/ | 
|  | 363 | fi | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 364 | fi | 
| Fred Drake | 9940bd7 | 1998-08-06 20:15:20 +0000 | [diff] [blame] | 365 | if [ "$BUILD_TEXT" ] ; then | 
|  | 366 | if [ ! "$HAVE_TEMPS" ] ; then | 
|  | 367 | # need to get aux file | 
|  | 368 | build_dvi $FILE 2>&1 | tee -a $LOGFILE | 
|  | 369 | HAVE_TEMPS=true | 
|  | 370 | fi | 
|  | 371 | # this is why building text really has to be last: | 
|  | 372 | if [ "$MAX_SPLIT_DEPTH" -ne 1 ] ; then | 
|  | 373 | echo '# re-hack this file for --text:' >>$L2H_AUX_INIT_FILE | 
|  | 374 | l2hoption MAX_SPLIT_DEPTH 1 | 
|  | 375 | echo '1;' >>$L2H_AUX_INIT_FILE | 
|  | 376 | TEMPDIR=$FILE.temp-html | 
|  | 377 | build_html $FILE $TEMPDIR 2>&1 | tee -a $LOGFILE | 
|  | 378 | else | 
|  | 379 | TEMPDIR=$FILE | 
|  | 380 | fi | 
|  | 381 | build_text $FILE $TEMPDIR 2>&1 | tee -a $LOGFILE | 
|  | 382 | fi | 
|  | 383 |  | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 384 | if [ "$DISCARD_TEMPS" ] ; then | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 385 | cleanup $FILE 2>&1 | tee -a $LOGFILE | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 386 | fi | 
| Fred Drake | 12f842e | 1998-04-17 02:52:12 +0000 | [diff] [blame] | 387 | # keep the logfile around | 
| Fred Drake | dbc879e | 1998-03-11 15:33:44 +0000 | [diff] [blame] | 388 | if [ "$LOGGING" ] ; then | 
|  | 389 | cp $LOGFILE $FILE.how | 
|  | 390 | fi | 
|  | 391 | rm -f $LOGFILE | 
| Fred Drake | e2e904f | 1998-03-10 23:23:05 +0000 | [diff] [blame] | 392 | done | 
| Fred Drake | 11300cc | 1998-08-05 04:48:18 +0000 | [diff] [blame] | 393 |  | 
| Fred Drake | b0b1900 | 1998-10-07 16:41:40 +0000 | [diff] [blame] | 394 | if [ ! "$DEBUGGING" ] ; then | 
|  | 395 | rm -f $L2H_AUX_INIT_FILE | 
|  | 396 | fi |