diff --git a/Doc/html/Makefile b/Doc/html/Makefile
index 2115132..0778fb8 100644
--- a/Doc/html/Makefile
+++ b/Doc/html/Makefile
@@ -1,9 +1,6 @@
-# Convenience Makefile for building HTML documentation.  You probably need to
-# set TEXINPUTS from the command line for this to be useful, unless you
-# actually build the .dvi files in the top level directory.
-#
-# Note that the .dvi files must already be built and TEXINPUTS must include the
-# directory where latex's working files (esp. *.aux) are kept.
+# Convenience Makefile for building HTML documentation.  You probably
+# need to set TEXINPUTS from the command line for this to be useful,
+# unless you actually build the .dvi files in the top level directory.
 
 PAPER=letter
 TOPDIR=..
@@ -15,16 +12,10 @@
 # Where are the various programs?
 PYTHON=	   python
 WEBCHECKER=$(PYTHON) $(TOPDIR)/../Tools/webchecker/webchecker.py
-WCNEW=$(PYTHON) $(TOPDIR)/../Tools/webchecker/wcnew.py
-MKAUX=	   PAPER=$(PAPER) TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh --aux
-MKHTML=	   PAPER=$(PAPER) $(TOOLSDIR)/mkhtml.sh
-KPSEWHICH= TEXINPUTS=$(TEXINPUTS) kpsewhich tex
+MKHOWTO=   $(TOOLSDIR)/mkhowto
 
 BUILDINDEX=$(TOOLSDIR)/buildindex.py
 
-# make it clear to l2h, since our support only generates HTML 4.0
-L2HARGS=   -html_version 4.0
-
 PYTHONDOCS='<hr>See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.'
 HTMLBASE=  file:`pwd`
 
@@ -70,55 +61,43 @@
 		--address $(PYTHONDOCS) \
 		lib/modindex.html mac/modindex.html
 
-api/api.html:  $(PAPERDIR)/api.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
-	$(MKHTML) api $(L2HARGS) -split 5
+api/api.html:  $(APIFILES) $(BUILDINDEX)
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
+		--html $(TOPDIR)/api/api.tex
 
-doc/doc.html:  $(DOCFILES) $(BUILDINDEX) $(TOPDIR)/perl/ltxmarkup.perl
-	$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
+doc/doc.html:  $(DOCFILES) $(BUILDINDEX)
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
 		--html $(TOPDIR)/doc/doc.tex
 
-ext/ext.html:  $(PAPERDIR)/ext.aux $(TOOLSDIR)/mkhtml.sh
-	$(MKHTML) ext $(L2HARGS) -split 5
+ext/ext.html:  $(EXTFILES)
+	echo $(EXTFILES)
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
+		--html $(TOPDIR)/ext/ext.tex
 
-lib/lib.html:  $(PAPERDIR)/lib.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
-	$(TOOLSDIR)/fix_libaux.sed <`$(KPSEWHICH) lib.aux` >lib1.aux
-	mv lib1.aux `$(KPSEWHICH) lib.aux`
-	$(MKHTML) lib $(L2HARGS) -split 5
+lib/lib.html:  $(LIBFILES) $(BUILDINDEX)
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
+		--html $(TOPDIR)/lib/lib.tex
 
 mac/mac.html:  $(MACFILES) $(BUILDINDEX)
-	$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
 		--html $(TOPDIR)/mac/mac.tex
 
-ref/ref.html:  $(PAPERDIR)/ref.aux $(BUILDINDEX) $(TOOLSDIR)/mkhtml.sh
-	$(MKHTML) ref $(L2HARGS) -split 5
+ref/ref.html:  $(REFFILES) $(BUILDINDEX)
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
+		--html $(TOPDIR)/ref/ref.tex
 
-tut/tut.html:  $(PAPERDIR)/tut.aux $(TOOLSDIR)/mkhtml.sh
-	$(MKHTML) --numeric tut $(L2HARGS) -split 3
+tut/tut.html:  $(TUTFILES) $(TOOLSDIR)/mkhowto
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
+		--html --numeric --split 3 $(TOPDIR)/tut/tut.tex
 
-inst/inst.html:$(INSTFILES) $(TOPDIR)/perl/distutils.perl
-	$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
+inst/inst.html: $(INSTFILES) $(TOPDIR)/perl/distutils.perl
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
 		--html $(TOPDIR)/inst/inst.tex
 
 dist/dist.html:$(DISTFILES) $(TOPDIR)/perl/distutils.perl
-	$(TOOLSDIR)/mkhowto --about stdabout.dat --address $(PYTHONDOCS) \
+	$(MKHOWTO) --about stdabout.dat --address $(PYTHONDOCS) \
 		--html $(TOPDIR)/dist/dist.tex
 
-$(PAPERDIR)/api.aux: $(APIFILES)
-	(cd $(PAPERDIR); $(MKAUX) api)
-
-$(PAPERDIR)/ext.aux: $(EXTFILES)
-	(cd $(PAPERDIR); $(MKAUX) ext)
-
-$(PAPERDIR)/lib.aux: $(LIBFILES)
-	(cd $(PAPERDIR); $(MKAUX) lib)
-
-$(PAPERDIR)/ref.aux: $(REFFILES)
-	(cd $(PAPERDIR); $(MKAUX) ref)
-
-$(PAPERDIR)/tut.aux: $(TUTFILES)
-	(cd $(PAPERDIR); $(MKAUX) tut)
-
-
 webcheck: all
 	$(WEBCHECKER) $(HTMLBASE)/api/
 	$(WEBCHECKER) $(HTMLBASE)/doc/
@@ -130,16 +109,6 @@
 	$(WEBCHECKER) $(HTMLBASE)/dist/
 	$(WEBCHECKER) $(HTMLBASE)/inst/
 
-wcnew: all
-	$(WCNEW) $(HTMLBASE)/api/
-	$(WCNEW) $(HTMLBASE)/doc/
-	$(WCNEW) $(HTMLBASE)/ext/
-	$(WCNEW) -m290000 $(HTMLBASE)/lib/
-	$(WCNEW) $(HTMLBASE)/mac/
-	$(WCNEW) $(HTMLBASE)/ref/
-	$(WCNEW) $(HTMLBASE)/tut/
-
-
 clean:
 	rm -rf @webchecker.pickle
 
@@ -154,7 +123,7 @@
 # It's at the end of the file since it wedges font-lock in XEmacs.
 
 BOILERPLATE=$(TOPDIR)/texinputs/boilerplate.tex
-index.html: index.html.in $(BOILERPLATE)
+index.html: $(TOPDIR)/html/index.html.in $(BOILERPLATE)
 	REL=`grep '\\release{' $(BOILERPLATE) | sed 's/.*\\release{\(.*\)}.*$$/\1/'`; \
 		REL=`echo "$$REL" | sed 's/[$$]//g'`; \
 		sed "s/@RELEASE@/$$REL/g" $< >TEMP
@@ -162,4 +131,3 @@
 		if [ "$$DATE" = '\today' ] ; then DATE=`date '+%B %e, %Y'`;fi;\
 		sed "s/@DATE@/$$DATE/g" TEMP >$@
 	rm -f TEMP
-
diff --git a/Doc/paper-letter/Makefile b/Doc/paper-letter/Makefile
index b81ee2e..d95be8a 100644
--- a/Doc/paper-letter/Makefile
+++ b/Doc/paper-letter/Makefile
@@ -2,20 +2,14 @@
 PAPER=letter
 
 # Where are the various programs?
-LATEX=		latex
-PDFLATEX=	pdflatex
 DVIPS=		dvips -N0 -t $(PAPER)
-MAKEINDEX=	makeindex -s ../texinputs/python.ist
 PYTHON=		python
 
 TOOLSDIR=	../tools
-TEXINPUTS=	.:../texinputs:
 
-MKDVI=		TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh
-# The --keep option is needed to keep the intermediate files for generating
-# the HTML global module index.
-MKHOWTO=	$(TOOLSDIR)/mkhowto --keep
-MKPDF=		TEXINPUTS=$(TEXINPUTS) $(TOOLSDIR)/mkdvi.sh --pdf
+MKHOWTO=	$(TOOLSDIR)/mkhowto
+MKDVI=		$(MKHOWTO) --dvi
+MKPDF=		$(MKHOWTO) --pdf
 
 
 # what's what
@@ -36,17 +30,14 @@
 include ../Makefile.deps
 
 
-SCRIPTS:	  ../tools/fix_hack ../tools/mkdvi.sh ../tools/indfix.py
+SCRIPTS:	  ../tools/indfix.py
 
-$(DVIFILES):	  $(SCRIPTS)
-$(PDFFILES):	  $(SCRIPTS)
-
-$(HOWTODVIFILES): ../tools/mkhowto
-$(HOWTOPDFFILES): ../tools/mkhowto
+$(DVIFILES):	  $(SCRIPTS) $(MKHOWTO)
+$(PDFFILES):	  $(SCRIPTS) $(MKHOWTO)
 
 
 # Rules to build PostScript and PDF formats
-.SUFFIXES: .dvi .ps .pdf
+.SUFFIXES: .dvi .ps
 
 .dvi.ps:
 	$(DVIPS) -o $@ $<
@@ -64,20 +55,20 @@
 
 # Python/C API Reference Manual
 api.dvi: api.tex $(APIFILES)
-	$(MKDVI) api
+	$(MKDVI) ../api/api.tex
 
 api.pdf: api.tex $(APIFILES)
-	$(MKPDF) api
+	$(MKPDF) ../api/api.tex
 
 api.tex: ../api/api.tex ../api/refcounts.dat ../tools/anno-api.py
 	$(PYTHON) ../tools/anno-api.py -o $@ ../api/api.tex
 
 # Distributing Python Modules
 dist.dvi: $(DISTFILES)
-	$(MKHOWTO) --dvi ../dist/dist.tex
+	$(MKDVI) ../dist/dist.tex
 
 dist.pdf: $(DISTFILES)
-	$(MKHOWTO) --pdf ../dist/dist.tex
+	$(MKPDF) ../dist/dist.tex
 
 # Documenting Python
 doc.dvi: $(DOCFILES)
@@ -88,10 +79,10 @@
 
 # Extending and Embedding the Python Interpreter
 ext.dvi: $(EXTFILES)
-	$(MKDVI) ext
+	$(MKDVI) ../ext/ext.tex
 
 ext.pdf: $(EXTFILES)
-	$(MKPDF) ext
+	$(MKPDF) ../ext/ext.tex
 
 # Installing Python Modules
 inst.dvi: $(INSTFILES)
@@ -102,10 +93,10 @@
 
 # Python Library Reference
 lib.dvi: $(LIBFILES)
-	$(MKDVI) lib
+	$(MKDVI) ../lib/lib.tex
 
 lib.pdf: $(LIBFILES)
-	$(MKPDF) lib
+	$(MKPDF) ../lib/lib.tex
 
 # Macintosh Library Modules
 mac.dvi: $(MACFILES)
@@ -116,17 +107,17 @@
 
 # Python Reference Manual
 ref.dvi: $(REFFILES)
-	$(MKDVI) ref
+	$(MKDVI) ../ref/ref.tex
 
 ref.pdf: $(REFFILES)
-	$(MKPDF) ref
+	$(MKPDF) ../ref/ref.tex
 
 # Python Tutorial
 tut.dvi: $(TUTFILES)
-	$(MKDVI) tut
+	$(MKDVI) ../tut/tut.tex
 
 tut.pdf: $(TUTFILES)
-	$(MKPDF) tut
+	$(MKPDF) ../tut/tut.tex
 
 
 clean:
