Improve the documentation build process.

The choice between troff implementations is now made at configure time,
rather than using shell logic in the Makefile to choose while building.
This commit is contained in:
John "Elwin" Edwards 2017-12-30 14:15:52 -05:00
parent 7fac45d848
commit bb37c1c3f7
12 changed files with 180 additions and 54 deletions

View file

@ -111,19 +111,23 @@ prob.o: prob.c rogue.h
docs: $(DOCS)
$(PROGRAM).cat: rogue.6
if test "x$(GROFF)" != "x" ; then \
$(GROFF) -P-c -P-b -P-u -Tascii -man rogue.6 > $(PROGRAM).cat ;\
elif test "x$(NROFF)" != "x" && test "x$(COLCRT)" != "x" ; then \
$(NROFF) -man rogue.6 | colcrt - > $(PROGRAM).cat ;\
fi
$(PROGRAM).cat@DOCS_GROFF@: rogue.6
$(GROFF) -P-c -P-b -P-u -Tascii -man rogue.6 > $(PROGRAM).cat
$(PROGRAM).doc: rogue.me
if test "x$(GROFF)" != "x" ; then \
$(GROFF) -P-c -P-b -P-u -t -me -Tutf8 rogue.me > $(PROGRAM).doc ;\
elif test "x$(NROFF)" != "x" && test "x$(COLCRT)" != "x" && test "x$(TBL)" != "x" ; then \
$(TBL) rogue.me | $(NROFF) -me | $(COLCRT) - > $(PROGRAM).doc ;\
fi
$(PROGRAM).cat@DOCS_NROFF@: rogue.6
$(NROFF) -man rogue.6 | $(COLCRT) - > $(PROGRAM).cat
$(PROGRAM).cat@DOCS_NONE@: rogue.6
@echo "Not building" $(PROGRAM).cat
$(PROGRAM).doc@DOCS_GROFF@: rogue.me
$(GROFF) -P-c -P-b -P-u -t -me -Tutf8 rogue.me > $(PROGRAM).doc
$(PROGRAM).doc@DOCS_NROFF@: rogue.me
$(TBL) rogue.me | $(NROFF) -me | $(COLCRT) - > $(PROGRAM).doc
$(PROGRAM).doc@DOCS_NONE@: rogue.me
@echo "Not building" $(PROGRAM).doc
clean:
rm -f $(POBJS) $(OBJS) core a.out p.out $(PROGRAM) strings make.out rogue.tar vgrind.* x.c x.o xs.c xs.o linterrs findpw distmod.o xs.po xstr rogue rogue.exe rogue.tar.gz $(DOCS) xstr.exe

View file

@ -36,6 +36,24 @@ AC_CHECK_PROG([GROFF], [groff], [groff],)
AC_CHECK_PROG([COLCRT], [colcrt], [colcrt],)
AC_CHECK_PROG([TBL], [tbl], [tbl],)
if test "x$GROFF" != "x" ; then
DOCS_GROFF=
DOCS_NROFF=.no-nroff
DOCS_NONE=.none
elif test "x$(NROFF)" != "x" && test "x$(TBL)" != "x" && test "x$(COLCRT)" != "x" ; then
DOCS_GROFF=.no-groff
DOCS_NROFF=
DOCS_NONE=.none
else
DOCS_GROFF=.no-groff
DOCS_NROFF=.no-nroff
DOCS_NONE=
fi
AC_SUBST(DOCS_GROFF)
AC_SUBST(DOCS_NROFF)
AC_SUBST(DOCS_NONE)
AC_ARG_WITH(program-name, AC_HELP_STRING([--with-program-name=NAME],[alternate executable name]),[progname="$withval" ], [progname="rogue4"] )
PROGRAM=$progname
AC_SUBST(PROGRAM)