SRCDIR=../src
DVI=texi2dvi
DVIPS=dvips -o "$@"
+PSPDF=ps2pdf
INFO=makeinfo
-HTML=makeinfo --html
+HTML=makeinfo --html --no-split
RM=rm -f
TAR=tar -chvf
GZIP=gzip -9
MANPS=./man2ps
MANTXT=nroff -man
-MANHTML=./man2html
+PERL=perl
+MANHTML=$(PERL) man2html
ADMIN_INCLUDES=definitions.texinfo copyright.texinfo document-list.texinfo \
glossary.texinfo support-enc.texinfo salts.texinfo krb5conf.texinfo \
krb5conf.texinfo kdcconf.texinfo send-pr.texinfo
INSTALL_DEPS=install.texinfo $(INSTALL_INCLUDES)
-MANPAGES=$(SRCDIR)/appl/gssftp/ftp/ftp.M $(SRCDIR)/clients/kdestroy/kdestroy.M $(SRCDIR)/clients/kinit/kinit.M $(SRCDIR)/clients/klist/klist.M $(SRCDIR)/clients/ksu/ksu.M $(SRCDIR)/appl/bsd/rcp.M $(SRCDIR)/appl/bsd/rlogin.M $(SRCDIR)/appl/bsd/rsh.M $(SRCDIR)/appl/telnet/telnet/telnet.1 $(SRCDIR)/kadmin/passwd/kpasswd.M
+MANPAGES=$(SRCDIR)/clients/kdestroy/kdestroy.M $(SRCDIR)/clients/kinit/kinit.M $(SRCDIR)/clients/klist/klist.M $(SRCDIR)/clients/ksu/ksu.M $(SRCDIR)/clients/kpasswd/kpasswd.M
USER_GUIDE_INCLUDES=definitions.texinfo copyright.texinfo glossary.texinfo
USER_GUIDE_DEPS=user-guide.texinfo $(USER_GUIDE_INCLUDES)
-KRB425_INCLUDES=definitions.texinfo copyright.texinfo
-KRB425_DEPS=krb425.texinfo $(KRB425_INCLUDES)
+SPHINX_BUILD=sphinx-build
.PHONY: all
-all:: admin-guide-full install-guide-full user-guide-full krb425-guide-full clean-temp-ps clean-tex
+all:: admin-guide-full install-guide-full user-guide-full clean-temp-ps clean-tex
.PHONY: admin-guide-full
admin-guide-full:: admin-guide admin-guide-info admin-guide-html
.PHONY: admin-guide
-admin-guide:: admin-guide.ps
+admin-guide:: admin-guide.ps admin-guide.pdf
admin-guide.ps: $(ADMIN_DEPS)
$(DVI) admin.texinfo
$(DVIPS) admin
+admin-guide.pdf: admin-guide.ps
+ $(PSPDF) admin-guide.ps admin-guide.pdf
+
.PHONY: admin-guide-html
admin-guide-html:: admin.html
install-guide-full:: install-guide install-guide-info install-guide-html
.PHONY: install-guide
-install-guide:: install-guide.ps
+install-guide:: install-guide.ps install-guide.pdf
install-guide.ps: $(INSTALL_DEPS)
$(DVI) install.texinfo
$(DVIPS) install
+install-guide.pdf: install-guide.ps
+ $(PSPDF) install-guide.ps install-guide.pdf
+
.PHONY: install-guide-html
install-guide-html:: install.html
user-guide-full:: user-guide user-guide-info user-guide-html
.PHONY: user-guide
-user-guide:: user-guide.ps
+user-guide:: user-guide.ps user-guide.pdf
user-guide.ps: $(USER_GUIDE_DEPS)
$(DVI) user-guide.texinfo
$(MANPS) $(MANPAGES)
$(DVIPS) user-guide
+user-guide.pdf: user-guide.ps
+ $(PSPDF) user-guide.ps user-guide.pdf
+
.PHONY: user-guide-info
user-guide-info:: krb5-user.info
user-guide-html:: user-guide.html
user-guide.html: $(USER_GUIDE_DEPS)
- $(MANTXT) $(SRCDIR)/appl/gssftp/ftp/ftp.M | $(MANHTML) > ftp.html
$(MANTXT) $(SRCDIR)/clients/kdestroy/kdestroy.M | $(MANHTML) > kdestroy.html
$(MANTXT) $(SRCDIR)/clients/kinit/kinit.M | $(MANHTML) > kinit.html
$(MANTXT) $(SRCDIR)/clients/klist/klist.M | $(MANHTML) > klist.html
$(MANTXT) $(SRCDIR)/clients/ksu/ksu.M | $(MANHTML) > ksu.html
- $(MANTXT) $(SRCDIR)/appl/bsd/rcp.M | $(MANHTML) > rcp.html
- $(MANTXT) $(SRCDIR)/appl/bsd/rlogin.M | $(MANHTML) > rlogin.html
- $(MANTXT) $(SRCDIR)/appl/bsd/rsh.M | $(MANHTML) > rsh.html
- $(MANTXT) $(SRCDIR)/appl/telnet/telnet/telnet.1 | $(MANHTML) > telnet.html
- $(MANTXT) $(SRCDIR)/kadmin/passwd/kpasswd.M | $(MANHTML) > kpasswd.html
+ $(MANTXT) $(SRCDIR)/clients/kpasswd/kpasswd.M | $(MANHTML) > kpasswd.html
$(HTML) user-guide.texinfo
-.PHONY: krb425-guide-full
-krb425-guide-full:: krb425-guide krb425-guide-info krb425-guide-html
-
-.PHONY: krb425-guide
-krb425-guide:: krb425-guide.ps
-
-krb425-guide.ps: $(KRB425_DEPS)
- $(DVI) krb425.texinfo
- $(DVIPS) krb425
-
-.PHONY: krb425-guide-html
-krb425-guide-html:: krb425.html
-
-krb425.html:: $(KRB425_DEPS)
- $(HTML) krb425.texinfo
-
-.PHONY: krb425-guide-info
-krb425-guide-info:: krb425.info
-
-krb425.info: $(KRB425_DEPS)
- $(INFO) krb425.texinfo
+.PHONY: implementor.ps implementor.pdf implementor.info
+implementor.pdf: implementor.ps
+ $(PSPDF) implementor.ps
+implementor.ps: implementor.texinfo
+ $(DVI) implementor.texinfo
+ $(DVIPS) implementor
+implementor.info: implementor.texinfo
+ $(INFO) implementor.texinfo
.PHONY: clean
clean:: clean-all
.PHONY: clean-final
clean-final::
- $(RM) *.ps *.info *.info-? *.html
+ $(RM) *.ps *.info *.info-? *.html *.pdf
.PHONY: clean-tex
clean-tex::
- $(RM) *.aux *.cp *.dvi *.fn *.ky *.log *.pg *.toc *.tp *.vr
+ $(RM) *.aux *.cp *.dvi *.fn *.ky *.log *.pg *.toc *.tp *.vr *.fns *.vrs *.tps
.PHONY: clean-backup
clean-backup::
$(TAR) krb5-docs.tar admin.texinfo build.texinfo copyright.texinfo definitions.texinfo document-list.texinfo glossary.texinfo install.texinfo texinfo.tex user-guide.texinfo *-guide.ps *.info *.info-? *.html
$(GZIP) krb5-docs.tar
$(MV) krb5-docs.tar.gz krb5-docs.tgz
+
+../NOTICE: notice.texinfo definitions.texinfo copyright.texinfo
+ makeinfo --plaintext -o $@ notice.texinfo
+
+RSTMAN=k5identity.5 k5login.5 k5srvutil.1 kadmin.1 kadmind.8 kdb5_ldap_util.8 \
+ kdb5_util.8 kdc.conf.5 kdestroy.1 kinit.1 klist.1 kpasswd.1 kprop.8 \
+ kpropd.8 kproplog.8 krb5.conf.5 krb5kdc.8 ksu.1 kswitch.1 ktutil.1 \
+ kvno.1
+
+# The file editing loop deletes some trailing whitespace that the
+# docutils manpage writer outputs near the end of its output files.
+rstman::
+ $(SPHINX_BUILD) -q -b man rst_source ../src/man
+ (cd ../src/man && for f in $(RSTMAN); do \
+ (echo '$$'; echo '?^.." $$?d'; echo 'w'; echo 'q' ) | ed $$f; \
+ done)