Push Debian's generation of plain text documents from HTML sources and
installation of both into upstream Makefile rules.

-- Branden Robinson, 2017-03-24T04:45:04-0400
--- a/Makefile
+++ b/Makefile
@@ -130,13 +130,23 @@
 	mkdisk.man \
 	xtrs.man
 
-MANPAGES = xtrs.txt mkdisk.txt cassette.txt cmddump.txt hex2cmd.txt 
+HTMLSOURCES = cpmutil.html \
+	dskspec.html
+
+# If "nodoc" is _not_ in $(DEB_BUILD_OPTIONS)...
+ifneq (nodoc, $(findstring nodoc,$(DEB_BUILD_OPTIONS)))
+MANPAGES = xtrs.txt mkdisk.txt cassette.txt cmddump.txt hex2cmd.txt
+HTMLDOCS = cpmutil.txt dskspec.txt
+else
+MANPAGES =
+HTMLDOCS =
+endif
 
 PROGS = xtrs mkdisk hex2cmd cmddump
 
-default: xtrs mkdisk hex2cmd cmddump manpages
+default: xtrs mkdisk hex2cmd cmddump docs
 
-manpages: $(MANPAGES)
+docs: $(MANPAGES) $(HTMLDOCS)
 
 z80code: $(Z80CODE)
 
@@ -148,7 +158,7 @@
 LIBS = $(XLIB) $(READLINELIBS) $(EXTRALIBS)
 
 ZMACFLAGS = -h
-.SUFFIXES:	.z80 .cmd .dct .man .txt .hex
+.SUFFIXES:	.z80 .cmd .dct .man .txt .hex .html
 .z80.cmd:
 	zmac $(ZMACFLAGS) $<
 	hex2cmd $*.hex > $*.cmd
@@ -159,8 +169,14 @@
 	rm -f $*.hex
 .z80.hex:
 	zmac $(ZMACFLAGS) $<
+
+# If "nodoc" is _not_ in $(DEB_BUILD_OPTIONS)...
+ifneq (nodoc, $(findstring nodoc,$(DEB_BUILD_OPTIONS)))
 .man.txt:
 	nroff -man -c -Tascii $< | colcrt - | cat -s > $*.txt
+.html.txt:
+	html2text -nobs -rcfile /usr/share/doc/html2text/examples/pretty.style $< >$@
+endif
 
 xtrs:		$(OBJECTS)
 		$(CC) $(LDFLAGS) -o xtrs $(OBJECTS) $(LIBS)
@@ -194,7 +210,8 @@
 clean:
 		rm -f $(OBJECTS) $(MD_OBJECTS) $(CR_OBJECTS) $(HC_OBJECTS) \
 			$(CD_OBJECTS) trs_rom*.c *~ \
-			$(PROGS) compile_rom
+			$(PROGS) compile_rom \
+			$(HTMLDOCS)
 
 veryclean: clean
 		rm -f $(Z80CODE) $(MANPAGES) *.lst
@@ -203,14 +220,16 @@
 		rm -f xtrs
 		make xtrs
 
-install: install-progs install-man
+install: install-progs install-docs
 
 install-progs: $(PROGS) $(CASSETTE)
 	$(INSTALL) -d -m 755 $(BINDIR)
 	$(INSTALL) -c -m 755 $(PROGS) $(BINDIR)
 	$(INSTALL) -c -m 755 $(CASSETTE) $(BINDIR)/cassette
 
-install-man: $(MANPAGES)
+# If "nodoc" is _not_ in $(DEB_BUILD_OPTIONS)...
+ifneq (nodoc, $(findstring nodoc,$(DEB_BUILD_OPTIONS)))
+install-docs: $(MANPAGES) $(HTMLDOCS)
 	$(INSTALL) -d -m 755 $(MANDIR)
 	$(INSTALL) -d -m 755 $(MANDIR)/man1
 	$(INSTALL) -c -m 644 xtrs.man $(MANDIR)/man1/xtrs.1
@@ -218,6 +237,14 @@
 	$(INSTALL) -c -m 644 mkdisk.man $(MANDIR)/man1/mkdisk.1
 	$(INSTALL) -c -m 644 cmddump.man $(MANDIR)/man1/cmddump.1
 	$(INSTALL) -c -m 644 hex2cmd.man $(MANDIR)/man1/hex2cmd.1
+	$(INSTALL) -d -m 755 $(DOCDIR)
+	$(INSTALL) -c -m 644 cpmutil.html $(DOCDIR)
+	$(INSTALL) -c -m 644 cpmutil.txt $(DOCDIR)
+	$(INSTALL) -c -m 644 dskspec.html $(DOCDIR)
+	$(INSTALL) -c -m 644 dskspec.txt $(DOCDIR)
+else
+install-docs:
+endif
 
 depend:
 	makedepend -- $(CFLAGS) -- $(SOURCES)
--- a/Makefile.local
+++ b/Makefile.local
@@ -100,6 +100,7 @@
 # Set these to where you want installed stuff to go, if you install them.
 
 BINDIR = $(PREFIX)/bin
+DOCDIR = $(PREFIX)/share/doc/xtrs
 MANDIR = $(PREFIX)/share/man
 
 # Change this if you have a BSD-compatible install program that is
