From ac8f91ada4dd32b2c87b7804c9f8b3481e0b0f30 Mon Sep 17 00:00:00 2001
From: Fred Drake <fdrake@acm.org>
Date: Thu, 2 Apr 1998 15:37:13 +0000
Subject: Added --split for AMK; control split level of the HTML output.  Use
 --split 1 to create a single HTML file.

Added --help.
---
 Doc/tools/mkhowto.sh | 78 +++++++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 65 insertions(+), 13 deletions(-)

diff --git a/Doc/tools/mkhowto.sh b/Doc/tools/mkhowto.sh
index e3a0b7f..417ba32 100755
--- a/Doc/tools/mkhowto.sh
+++ b/Doc/tools/mkhowto.sh
@@ -4,6 +4,8 @@ MYDIR=`dirname $0`
 WORKDIR=`pwd`
 cd $MYDIR
 MYDIR=`pwd`
+cd ..
+TOPDIR=`pwd`
 cd $WORKDIR
 
 # DEFAULT_FORMAT must be upper case...
@@ -11,6 +13,9 @@ DEFAULT_FORMAT=PDF
 USE_DEFAULT_FORMAT=true
 DISCARD_TEMPS=true
 
+HTML_SPLIT_LEVEL=''
+L2H_INIT_FILE=$TOPDIR/perl/l2hinit.perl
+
 # This is needed to support kpathsea based TeX installations.  Others are
 # not supported.  ;-)
 TEXINPUTS=`dirname $MYDIR`/texinputs:$TEXINPUTS
@@ -20,20 +25,60 @@ LOGFILE=/usr/tmp/mkhowto-$LOGNAME-$$.how
 LOGGING=''
 
 usage() {
-    echo "usage: $0 [options...] file ..."
-    exit 2
+    MYNAME=`basename $0`
+    echo "usage: $MYNAME [options...] file ..."
+    cat <<EOF
+
+Options specifying formats to build:
+    --html		HyperText Markup Language
+    --pdf		Portable Document Format (default)
+    --ps		PostScript
+    --dvi		"DeVice Indepentent" format from TeX
+
+    More than one output format may be specified.
+
+HTML options:
+    --address, -a	Specify an address for page footers.
+    --split, -s		Specify a section level for page splitting.
+
+Other options:
+    --help, -H		Show this text.
+    --logging, -l	Log stdout and stderr to a file (*.how).
+    --debugging, -D	Echo commands as they are executed.
+    --keep, -k		Keep temporary files around.
+    --quiet, -q		Do not print command output to stdout.
+			(stderr is also lost,  sorry; see *.how for errors)
+
+EOF
+    
+    exit $1
 }
 
 build_html() {
-    # This doesn't work; l2hinit.perl uses the current directory, not it's own
-    # location.  Need a workaround for this.
-    if [ "$ADDRESS" ] ; then
-	latex2html -init_file $MYDIR/../perl/l2hinit.perl -address "$ADDRESS" \
-	 $1 || exit $?
+    if [ "$HTML_SPLIT_LEVEL" ] ; then
+	if [ "$ADDRESS" ] ; then
+	    latex2html -init_file $L2H_INIT_FILE \
+	     -address "$ADDRESS" \
+	     -split $HTML_SPLIT_LEVEL \
+	     $1 || exit $?
+	else
+	    latex2html -init_file $L2H_INIT_FILE \
+	     -split $HTML_SPLIT_LEVEL \
+	     $1 || exit $?
+	fi
     else
-	latex2html -init_file $MYDIR/../perl/l2hinit.perl $1 || exit $?
+	if [ "$ADDRESS" ] ; then
+	    latex2html -init_file $L2H_INIT_FILE \
+	     -address "$ADDRESS" \
+	     $1 || exit $?
+	else
+	    latex2html -init_file $L2H_INIT_FILE \
+	     $1 || exit $?
+	fi
+    fi
+    if [ "$HTML_SPLIT_LEVEL" != 1 ] ; then
+	(cd $FILE; $MYDIR/node2label.pl *.html) || exit $?
     fi
-    (cd $FILE; $MYDIR/node2label.pl *.html) || exit $?
 }
 
 build_dvi() {
@@ -83,15 +128,22 @@ while [ "$1" ] ; do
 	    USE_DEFAULT_FORMAT=false
 	    shift 1
 	    ;;
-	--html|--htm|--ht|--h)
+	--html|--htm|--ht)
 	    BUILD_HTML=true
 	    USE_DEFAULT_FORMAT=false
 	    shift 1
 	    ;;
+	-H|--help|--hel|--he)
+	    usage 0
+	    ;;
 	-a|--address|--addres|--addre|-addr|--add|--ad|--a)
 	    ADDRESS="$2"
 	    shift 2
 	    ;;
+	-s|--split|--spli|--spl|--sp|--s)
+	    HTML_SPLIT_LEVEL="$2"
+	    shift 2
+	    ;;
 	-l|--logging|--loggin|--loggi|--logg|--log|--lo|--l)
 	    LOGGING=true
 	    shift 1
@@ -104,12 +156,12 @@ while [ "$1" ] ; do
 	    DISCARD_TEMPS=''
 	    shift 1
 	    ;;
-	-q|--quiet|__quie|--qui|--qu|--q)
+	-q|--quiet|--quie|--qui|--qu|--q)
 	    QUIET=true
 	    shift 1
 	    ;;
 	-*)
-	    usage
+	    usage 2
 	    ;;
 	*)
 	    break;;
@@ -117,7 +169,7 @@ while [ "$1" ] ; do
 done
 
 if [ $# = 0 ] ; then
-    usage
+    usage 2
 fi
 
 if [ $USE_DEFAULT_FORMAT = true ] ; then
-- 
cgit v0.12

