summaryrefslogtreecommitdiffstats
path: root/src/doc
diff options
context:
space:
mode:
authorGreg Hudson <ghudson@mit.edu>2012-03-28 02:03:33 +0000
committerGreg Hudson <ghudson@mit.edu>2012-03-28 02:03:33 +0000
commit34535574e95c1003ea63540fbf8c2c62fe155e02 (patch)
treef467f8ad38055c4dd32d186c10f9deac787599fb /src/doc
parent3baf23b396e8aa331a2abeaa72ade021ce960be1 (diff)
downloadkrb5-34535574e95c1003ea63540fbf8c2c62fe155e02.tar.gz
krb5-34535574e95c1003ea63540fbf8c2c62fe155e02.tar.xz
krb5-34535574e95c1003ea63540fbf8c2c62fe155e02.zip
Automate RST HTML generation with doxygen info
In src/doc/Makefile.in, create an "rsthtml" target for generating release tarball/web site HTML docs in doc/rst_html. For now, eliminate support for the bridge to the Doxygen HTML output; just generate XML output with Doxygen and convert it to RST format. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25791 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/doc')
-rw-r--r--src/doc/Doxyfile.in14
-rw-r--r--src/doc/Makefile.in32
2 files changed, 45 insertions, 1 deletions
diff --git a/src/doc/Doxyfile.in b/src/doc/Doxyfile.in
new file mode 100644
index 000000000..d2b6b32a1
--- /dev/null
+++ b/src/doc/Doxyfile.in
@@ -0,0 +1,14 @@
+PROJECT_NAME = Kerberos_doxygen
+OUTPUT_DIRECTORY = doxy
+JAVADOC_AUTOBRIEF = YES
+OPTIMIZE_OUTPUT_FOR_C = YES
+WARN_IF_UNDOCUMENTED = NO
+SHOW_FILES = NO
+INPUT = @SRC@/include/krb5/krb5.hin @DOC@/doxy_examples
+EXAMPLE_PATH = @DOC@/doxy_examples
+GENERATE_HTML = NO
+GENERATE_LATEX = NO
+GENERATE_XML = YES
+PREDEFINED = KRB5_DEPRECATED KRB5_OLD_CRYPTO
+CLASS_DIAGRAMS = NO
+CASE_SENSE_NAMES = NO
diff --git a/src/doc/Makefile.in b/src/doc/Makefile.in
index 6222e2197..5c5ba297e 100644
--- a/src/doc/Makefile.in
+++ b/src/doc/Makefile.in
@@ -2,6 +2,7 @@ mydir=doc
BUILDTOP=$(REL)..
SPHINX_BUILD=sphinx-build
+DOXYGEN=doxygen
docsrc=$(top_srcdir)/../doc
mansrc=$(top_srcdir)/man
@@ -16,5 +17,34 @@ rstman::
sed -e '/^\.\\" $$/d' $$f > $(mansrc)/$$name.man; \
done
+# Create HTML documentation in $(docsrc)/rst_html suitable for a
+# release tarball or the web site (that is, without substitutions for
+# configured paths). This can be done in an unconfigured source tree
+# with:
+# make -f Makefile.in top_srcdir=.. PYTHON=python rsthml
+# make -f Makefile.in clean
+rsthtml: composite
+ rm -rf $(docsrc)/rst_html
+ $(SPHINX_BUILD) -q rst_composite $(docsrc)/rst_html
+
+# Use doxygen to generate API documentation, translate it into RST
+# format, and then create a composite of $(docsrc)/rst_source, the
+# generated files, and the NOTICE file in rst_composite. Used by the
+# rsthtml and ___ targets.
+composite: Doxyfile
+ rm -rf doxy rst_apiref rst_composite
+ $(DOXYGEN)
+ cwd=`pwd`; cd $(docsrc)/rst_tools && \
+ $(PYTHON) doxy.py -i $$cwd/doxy/xml -o $$cwd/rst_apiref
+ cp -r $(docsrc)/rst_source rst_composite
+ cp rst_apiref/*.rst rst_composite/krb_appldev/refs/api
+ cp rst_apiref/types/*.rst rst_composite/krb_appldev/refs/types
+ cp rst_apiref/macros/*.rst rst_composite/krb_appldev/refs/macros
+ cp $(top_srcdir)/../NOTICE rst_composite
+
+Doxyfile: $(srcdir)/Doxyfile.in
+ sed -e 's|@SRC@|$(top_srcdir)|g' \
+ -e 's|@DOC@|$(top_srcdir)/../doc|g' $(srcdir)/Doxyfile.in > $@
+
clean::
- $(RM) -r mantmp
+ rm -rf rst_man doxy rst_apiref rst_composite Doxyfile