diff options
author | Philip Chimento <philip@endlessm.com> | 2013-04-10 11:42:03 +0100 |
---|---|---|
committer | P. F. Chimento <philip.chimento@gmail.com> | 2013-04-17 17:15:52 +0200 |
commit | 6347c78610a7197e1d0cedd1a4a2136a595b5a67 (patch) | |
tree | 5eb4b408c6858fcff0b26b17d278682fabcdcb33 | |
parent | 5049b8938f407629690c6682263187986fb5f2ba (diff) |
Autogenerate documentation with Gtk-doc
Run './configure --enable-gtk-doc' to turn on building documentation,
or use --disable-gtk-doc to disable it (for faster builds.) It builds
as part of the regular 'make' invocation, though you can use 'make
docs' to build only the documentation.
[#1]
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | Makefile.am | 5 | ||||
-rwxr-xr-x | autogen.sh | 1 | ||||
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | docs/reference/endless/.gitignore | 19 | ||||
-rw-r--r-- | docs/reference/endless/Makefile.am | 92 | ||||
-rw-r--r-- | docs/reference/endless/endless-docs.xml | 39 | ||||
-rw-r--r-- | docs/reference/endless/endless-overrides.txt | 0 | ||||
-rw-r--r-- | docs/reference/endless/endless-sections.txt | 6 | ||||
-rw-r--r-- | docs/reference/endless/version.xml.in | 1 |
10 files changed, 171 insertions, 1 deletions
@@ -15,6 +15,7 @@ test/smoke-tests/hello .deps .libs stamp* +*.stamp /Makefile /Makefile.in /aclocal.m4 @@ -78,6 +79,10 @@ stamp* /m4/wint_t.m4 /m4/xsize.m4 +# Gtk-doc +/gtk-doc.make +/m4/gtk-doc.m4 + # Packages *.egg *.egg-info diff --git a/Makefile.am b/Makefile.am index 11a922e..8471840 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,7 +8,7 @@ ## Please keep this file well-commented. # Subdirectories where we also want to run make -SUBDIRS = po +SUBDIRS = po docs/reference/endless # Our Autoconf macros are kept in the m4/ directory ACLOCAL_AMFLAGS = -I m4 @@ -20,6 +20,9 @@ EXTRA_DIST = @EOS_SDK_API_NAME@.pc.in DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@ AM_CFLAGS = @STRICT_CFLAGS@ +# Make sure to run Gtk-doc tests when doing 'make distcheck' +DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc + # Generated files that 'make clean' should erase CLEANFILES = DISTCLEANFILES = @@ -27,6 +27,7 @@ if test -z "$NOCONFIGURE"; then fi # Run the actual tools to prepare the clean checkout +gtkdocize || exit $? autoreconf -fi || exit $? rm -f po/Makevars.template diff --git a/configure.ac b/configure.ac index ecf750e..b527bc8 100644 --- a/configure.ac +++ b/configure.ac @@ -136,6 +136,8 @@ PKG_PROG_PKG_CONFIG # Gettext AM_GNU_GETTEXT([external]) AM_GNU_GETTEXT_VERSION([0.18.1]) +# Gtk-doc; 0.18 required for Markdown parsing +GTK_DOC_CHECK([1.18], [--flavour no-tmpl]) # Required libraries # ------------------ @@ -149,6 +151,8 @@ PKG_CHECK_MODULES([EOS_SDK], [ AC_CONFIG_FILES([ Makefile po/Makefile.in + docs/reference/endless/Makefile + docs/reference/endless/version.xml $EOS_SDK_API_NAME.pc ]) AC_CONFIG_HEADERS([config.h]) dnl Header with system-dependent #defines diff --git a/docs/reference/endless/.gitignore b/docs/reference/endless/.gitignore new file mode 100644 index 0000000..2df75cd --- /dev/null +++ b/docs/reference/endless/.gitignore @@ -0,0 +1,19 @@ +/Makefile +/Makefile.in +/endless-decl-list.txt +/endless-decl.txt +/endless-undeclared.txt +/endless-undocumented.txt +/endless-unused.txt +/endless.args +/endless.hierarchy +/endless.interfaces +/endless.prerequisites +/endless.signals +/endless.types +/html +/so_locations +/tags +/version.xml +/xml +/*.bak
\ No newline at end of file diff --git a/docs/reference/endless/Makefile.am b/docs/reference/endless/Makefile.am new file mode 100644 index 0000000..a207921 --- /dev/null +++ b/docs/reference/endless/Makefile.am @@ -0,0 +1,92 @@ +## Process this file with automake to produce Makefile.in + +# The name of the module, e.g. 'glib'. +DOC_MODULE=endless + +# Uncomment for versioned docs and specify the version of the module, e.g. '2'. +DOC_MODULE_VERSION=@EOS_SDK_API_VERSION@ + +# The top-level SGML file. You can change this if you want to. +DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml + +# Directories containing the source code. +# gtk-doc will search all .c and .h files beneath these paths +# for inline comments documenting functions and macros. +# e.g. DOC_SOURCE_DIR=$(top_srcdir)/gtk $(top_srcdir)/gdk +DOC_SOURCE_DIR=$(top_srcdir)/endless + +# Extra options to pass to gtkdoc-scangobj. Not normally needed. +SCANGOBJ_OPTIONS= + +# Extra options to supply to gtkdoc-scan. +# e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" +SCAN_OPTIONS=--rebuild-types + +# Extra options to supply to gtkdoc-mkdb. +# e.g. MKDB_OPTIONS=--xml-mode --output-format=xml +MKDB_OPTIONS=--xml-mode --output-format=xml + +# Extra options to supply to gtkdoc-mktmpl +# e.g. MKTMPL_OPTIONS=--only-section-tmpl +MKTMPL_OPTIONS= + +# Extra options to supply to gtkdoc-mkhtml +MKHTML_OPTIONS= + +# Extra options to supply to gtkdoc-fixxref. Not normally needed. +# e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html +FIXXREF_OPTIONS= + +# Used for dependencies. The docs will be rebuilt if any of these change. +BUILT_HFILES= +HFILE_GLOB=$(top_srcdir)/endless/*.h +CFILE_GLOB=$(top_srcdir)/endless/*.c + +# Extra header to include when scanning, which are not under DOC_SOURCE_DIR +# e.g. EXTRA_HFILES=$(top_srcdir)/contrib/extra.h +EXTRA_HFILES= + +# Header files or dirs to ignore when scanning. Use base file/dir names +# e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code +IGNORE_HFILES=$(top_srcdir)/endless/init-private.h + +# Images to copy into HTML directory. +# e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png +HTML_IMAGES= + +# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). +# e.g. content_files=running.sgml building.sgml changes-2.0.sgml +content_files= + +# SGML files where gtk-doc abbrevations (#GtkWidget) are expanded +# These files must be listed here *and* in content_files +# e.g. expand_content_files=running.sgml +expand_content_files= + +# CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. +# Only needed if you are using gtkdoc-scangobj to dynamically query widget +# signals and properties. +GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) @EOS_SDK_CFLAGS@ +GTKDOC_LIBS=$(top_builddir)/libendless-@EOS_SDK_API_VERSION@.la + +# This includes the standard gtk-doc make rules, copied by gtkdocize. +include $(top_srcdir)/gtk-doc.make + +# Other files to distribute +# e.g. EXTRA_DIST += version.xml.in +EXTRA_DIST += + +# Files not to distribute +# for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types +# for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt +#DISTCLEANFILES += + +# Comment this out if you want 'make check' to test you doc status +# and run some sanity checks +if ENABLE_GTK_DOC +TESTS_ENVIRONMENT = cd $(srcdir) && \ + DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \ + SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir) +TESTS = $(GTKDOC_CHECK) +endif + diff --git a/docs/reference/endless/endless-docs.xml b/docs/reference/endless/endless-docs.xml new file mode 100644 index 0000000..d4004aa --- /dev/null +++ b/docs/reference/endless/endless-docs.xml @@ -0,0 +1,39 @@ +<?xml version="1.0"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'"> + <!ENTITY version SYSTEM "version.xml"> +]> +<book id="index"> + <bookinfo> + <title>Open Endless SDK reference (C API)</title> + <releaseinfo> + <para>Version: &version;</para> + <!--The latest version of this documentation can be found on-line at + <ulink role="online-location" url="http://[SERVER]/endless/index.html">http://[SERVER]/endless/</ulink>.--> + </releaseinfo> + </bookinfo> + + <chapter> + <title>Open Endless SDK reference (C API)</title> + <xi:include href="xml/hello.xml"/> + </chapter> + + <chapter id="object-tree"> + <title>Object Hierarchy</title> + <xi:include href="xml/tree_index.sgml"/> + </chapter> + + <index id="api-index-full"> + <title>API Index</title> + <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include> + </index> + + <index id="deprecated-api-index" role="deprecated"> + <title>Index of deprecated API</title> + <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include> + </index> + + <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include> +</book> diff --git a/docs/reference/endless/endless-overrides.txt b/docs/reference/endless/endless-overrides.txt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/docs/reference/endless/endless-overrides.txt diff --git a/docs/reference/endless/endless-sections.txt b/docs/reference/endless/endless-sections.txt new file mode 100644 index 0000000..4782fbb --- /dev/null +++ b/docs/reference/endless/endless-sections.txt @@ -0,0 +1,6 @@ +<SECTION> +<FILE>hello</FILE> +eos_hello_sample_function +<SUBSECTION Private> +EOS_SDK_ALL_API_VERSIONS +</SECTION> diff --git a/docs/reference/endless/version.xml.in b/docs/reference/endless/version.xml.in new file mode 100644 index 0000000..27323da --- /dev/null +++ b/docs/reference/endless/version.xml.in @@ -0,0 +1 @@ +@VERSION@
\ No newline at end of file |