Commit 273b80f5 authored by Murray Cumming's avatar Murray Cumming
Browse files

Use mm-common for optional compiler warnings and to build libglom docs.

    * configure.ac: Use mm-common, removing macros/dk-warn.m4.
* docs/libglom_reference/Doxyfile.in:
* docs/libglom_reference/doxygen_to_devhelp.xsl:
* docs/libglom_reference/Makefile.am: Generate libglom documentation
    properly using build stuff copied from gtkmm.
* docs/pyglom_reference/Makefile.am: A silly little initial attempt to
    have generated html for the glom python module, using pydoc.
parent 2c15d6b2
2010-04-16 Murray Cumming <murrayc@murrayc.com>
Use mm-common for optional compiler warnings and to build libglom docs.
* configure.ac: Use mm-common, removing macros/dk-warn.m4.
* docs/libglom_reference/Doxyfile.in:
* docs/libglom_reference/doxygen_to_devhelp.xsl:
* docs/libglom_reference/Makefile.am: Generate libglom documentation
properly usign build stuff copied from gtkmm.
* docs/pyglom_reference/Makefile.am: A silly little initial attempt to
have generated html for the glom python module, using pydoc.
2010-04-15 Murray Cumming <murrayc@murrayc.com>
 
Python field calculation: Fix a crash.
......
......@@ -40,7 +40,7 @@ doc_subdirs = docs/user-guide
else
doc_subdirs =
endif
SUBDIRS = po $(doc_subdirs)
SUBDIRS = po $(doc_subdirs) docs/libglom_reference docs/pyglom_reference
if HOST_WIN32
win_resfile = glom/glom.res
......
......@@ -24,6 +24,7 @@ AC_CONFIG_HEADERS([config.h glom/libglom/libglom_config.h])
AM_INIT_AUTOMAKE([1.10 check-news no-define nostdinc])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
AM_MAINTAINER_MODE
AC_ARG_VAR([ACLOCAL_FLAGS], [aclocal flags, e.g. -I <macro dir>])
AC_PROG_CC
......@@ -185,14 +186,18 @@ MM_PKG_CONFIG_SUBST([ISO_CODES_PREFIX], [--variable=prefix iso-codes])
AC_DEFINE_UNQUOTED([ISO_CODES_PREFIX], ["$ISO_CODES_PREFIX"],
[Define to the installation prefix of the iso-codes module.])
AC_LANG_ASSERT([C])
DK_ARG_ENABLE_WARNINGS([GLOM_WFLAGS],
[-Wall], [-Wall -Wextra],
# Evaluate the --enable-warnings=level option.
MM_PREREQ([0.8])
MM_ARG_ENABLE_WARNINGS([GLOM_WFLAGS],
[-Wall],
[-Wall -Wextra -Wno-missing-field-initializers -DGSEAL_ENABLE],
[G GDK GDK_PIXBUF GTK])
AC_LANG([C++])
DK_ARG_ENABLE_WARNINGS([GLOM_WXXFLAGS],
[-Wall], [-Wall -Wextra -Wno-missing-field-initializers],
MM_ARG_ENABLE_WARNINGS([GLOM_WXXFLAGS],
[-Wall],
[-Wall -Wextra -Wno-missing-field-initializers -DGSEAL_ENABLE],
[G GDK GDK_PIXBUF GTK GLIBMM GTKMM])
AC_CHECK_FUNCS([strptime])
# Get the compiler and linker flags for embedding Python.
......@@ -245,10 +250,20 @@ AC_DEFINE_UNQUOTED([EXEEXT], ["$EXEEXT"],
GNOME_DOC_INIT([0.9.0],,
[AC_MSG_WARN([[gnome-doc-utils not found: documentation will not be built.]])])
MM_ARG_ENABLE_DOCUMENTATION
MM_ARG_WITH_TAGFILE_DOC([libstdc++.tag], [mm-common-libstdc++])
MM_ARG_WITH_TAGFILE_DOC([libsigc++-2.0.tag], [sigc++-2.0])
MM_ARG_WITH_TAGFILE_DOC([glibmm-2.4.tag], [glibmm-2.4])
MM_ARG_WITH_TAGFILE_DOC([cairomm-1.0.tag], [cairomm-1.0])
MM_ARG_WITH_TAGFILE_DOC([pangomm-1.4.tag], [pangomm-1.4])
AC_CONFIG_FILES([Makefile
docs/user-guide/Makefile
po/Makefile.in
glom.desktop.in
glom/libglom/glom-1.14.pc
docs/libglom_reference/Makefile
docs/libglom_reference/Doxyfile
docs/pyglom_reference/Makefile
win32/glom.iss])
AC_OUTPUT
# Doxyfile 1.6.1
# @configure_input@
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = libglom-@GLOM_ABI_VERSION@
PROJECT_NUMBER = @PACKAGE_VERSION@
OUTPUT_DIRECTORY = .
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF =
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = "@abs_top_builddir@/glom/libglom/" \
"@abs_top_builddir@/" \
"@abs_top_srcdir@/"
STRIP_FROM_INC_PATH = "@abs_top_builddir@/glom/libglom/" \
"@abs_top_builddir@/" \
"@abs_top_srcdir@/"
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 8
ALIASES = "newin{2}=\xrefitem since_\1_\2 \"Since @PACKAGE_NAME@ \1.\2\" \"New API in @PACKAGE_NAME@ \1.\2\""
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
EXTENSION_MAPPING =
BUILTIN_STL_SUPPORT = NO
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
TYPEDEF_HIDES_STRUCT = NO
SYMBOL_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = YES
HIDE_FRIEND_COMPOUNDS = YES
HIDE_IN_BODY_DOCS = YES
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = YES
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = YES
SORT_GROUP_NAMES = YES
SORT_BY_SCOPE_NAME = YES
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 2
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = NO
SHOW_FILES = NO
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE = reference/doxygen.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
# We provide the input patch when calling doxygen instead.
INPUT =
INPUT_ENCODING = UTF-8
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS = _* \
adaptor_trait \
basic_filebuf \
basic_streambuf \
binary_function \
char_traits \
internal \
pair \
unary_function
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *.cc \
*.h
EXAMPLE_RECURSIVE = YES
IMAGE_PATH = "@abs_top_srcdir@/docs/reference/images/stock/16" \
"@abs_top_srcdir@/docs/reference/images/stock/20" \
"@abs_top_srcdir@/docs/reference/images/stock/24" \
"@abs_top_srcdir@/docs/reference/images/stock/32" \
"@abs_top_srcdir@/docs/reference/images/stock/48" \
"@abs_top_srcdir@/docs/reference/images/widgets"
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
USE_HTAGS = NO
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = YES
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
#HTML_STYLESHEET = "@MMDOCTOOLDIR@/doxygen.css"
HTML_ALIGN_MEMBERS = YES
HTML_DYNAMIC_SECTIONS = NO
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated docs"
DOCSET_BUNDLE_ID = org.doxygen.Project
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE =
QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 1
GENERATE_TREEVIEW = NONE
USE_INLINE_TREES = NO
TREEVIEW_WIDTH = 250
FORMULA_FONTSIZE = 10
SEARCHENGINE = NO
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
LATEX_SOURCE_CODE = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = NO
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = NO
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = "@abs_top_builddir@/glom/libglom"
INCLUDE_FILE_PATTERNS = *.h
PREDEFINED = __cplusplus \
DOXYGEN_SHOULD_SKIP_THIS \
"G_GNUC_CONST=" \
"G_GNUC_NORETURN=" \
"G_GNUC_NULL_TERMINATED=" \
"G_GNUC_PURE=" \
GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED \
GLIBMM_EXCEPTIONS_ENABLED \
GLIBMM_HAVE_WIDE_STREAM \
GLIBMM_PROPERTIES_ENABLED \
GLIBMM_VFUNCS_ENABLED \
"ATKMM_API=" \
"GDKMM_API=" \
"GTKMM_API=" \
GTKMM_ATKMM_ENABLED \
"GTKMM_USING_STD(x)="
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE = "libglom-@GLOM_ABI_VERSION@.tag"
ALLEXTERNALS = NO
EXTERNAL_GROUPS = NO
PERL_PATH = @PERL@
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
MSCGEN_PATH =
HIDE_UNDOC_RELATIONS = NO
HAVE_DOT = YES
DOT_FONTNAME = FreeSans
DOT_FONTSIZE = 10
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = NO
INCLUDED_BY_GRAPH = NO
CALL_GRAPH = NO
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = NO
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = YES
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
## Copyright (c) 2009 Openismus GmbH <http://www.openismus.com/>
##
## This file is part of mm-common.
##
## mm-common is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published
## by the Free Software Foundation, either version 2 of the License,
## or (at your option) any later version.
##
## mm-common is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with mm-common. If not, see <http://www.gnu.org/licenses/>.
## Parameters: book_name
## Overrides: pubdocbase, htmlrefpub, book_title, htmlref_patterns,
## doc_outdir, doc_config, doc_postprocess, doc_install,
## tagfile_to_devhelp2, doxytagfile, devhelpfile
## Files: doc_input
## Output: dist_noinst_DATA, DISTCLEANFILES, MAINTAINERCLEANFILES
book_name = libglom-$(GLOM_ABI_VERSION)
doc_input = $(top_srcdir)/glom/libglom
# The name of the sub-directory where the generated documentation
# will be placed.
doc_outdir ?= .
# The name of the Doxygen configuration file.
doc_config ?= $(doc_outdir)/Doxyfile
# The base URL where the online documentation for C++ binding modules
# is located, including the trailing slash.
pubdocbase ?= http://library.gnome.org/devel/
# The URL of the module's online HTML reference documentation, which
# may or may not end in a trailing slash.
htmlrefpub ?= $(pubdocbase)$(PACKAGE_TARNAME)/unstable/
# The title of the generated Devhelp book.
book_title ?= $(PACKAGE_NAME) Reference Manual
# A list of wildcard patterns matching the files from the HTML directory
# generated by Doxygen which should be distributed and installed.
htmlref_patterns ?= $(addprefix $(doc_outdir)/html/*.,css gif html png)
# Locations of utilities shipped with glibmm. Made overridable
# in case the installed utilities cannot be used for some reason.
doc_postprocess ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-postprocess.pl"
doc_install ?= $(PERL) -- "$(MMDOCTOOLDIR)/doc-install.pl"
tagfile_to_devhelp2 ?= "$(MMDOCTOOLDIR)/tagfile-to-devhelp2.xsl"
# Names of the main output files.
doxytagfile ?= $(doc_outdir)/$(book_name).tag
devhelpfile ?= $(doc_outdir)/$(book_name).devhelp2
# Function: $(call vpath_listall,PATTERN ...)
# Get all filenames which match a PATTERN from the list. Look for files
# relative to either the current directory or $(srcdir). Strip $(srcdir)/
# again before returning and remove any duplicates.
vpath_srclist = $(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/,$(1))))
vpath_listall = $(sort $(wildcard $(1)) $(if $(srcdir:.=),$(vpath_srclist)))
# Installation directories.
libdocdir = $(datarootdir)/doc/$(book_name)
referencedir = $(libdocdir)/reference
htmlrefdir = $(referencedir)/html
devhelpdir = $(datadir)/devhelp/books/$(book_name)
if ENABLE_DOCUMENTATION
doc_inst_targets = install-htmlref install-devhelp
doc_inst_files = $(doxytagfile)
doc_dist_files = $(devhelpfile) $(call vpath_listall,$(htmlref_patterns))
else
doc_inst_targets =
doc_inst_files =
doc_dist_files =
endif
dist_reference_DATA = $(strip $(doc_inst_files))
dist_noinst_DATA = $(strip $(doc_dist_files))
DISTCLEANFILES = $(doc_outdir)/doxygen.log
MAINTAINERCLEANFILES = $(doxytagfile) $(devhelpfile) $(doc_outdir)/html/*
# The generic bit of the doc-install.pl command line.
doc_install_cmd = $(doc_install) --verbose --mode=0644
# Transform $(datarootdir) into a URI to match MM_ARG_WITH_TAGFILE_DOC().
datarootdir_esc = $(subst $(subst ,, ),%20,$(subst \,/,$(datarootdir)))
docdir_base_uri = file:///$(patsubst /%,%,$(datarootdir_esc:/=))/doc
# The command and options used to install the files from the HTML reference
# documentation. The $(subst) magic translates external tag references from
# absolute to relative paths if the destination is on the local file system
# and installed under the same prefix as the package being built.
htmlref_relinst = $(subst @$(docdir_base_uri)/,@../../../,$(DOCINSTALL_FLAGS))
htmlref_install = $(doc_install_cmd) $(htmlref_relinst)
# The command and options used to install the Devhelp file.
devhelp_install = $(doc_install_cmd) --book-base='$(htmlrefdir:/=)'
# Helper variables to replicate each pattern with a $(srcdir)/ prefix.
# Also add quoting to prevent the shell from expanding the patterns.
htmlref_patterns_dup = $(foreach item,$(htmlref_patterns),'$(item)' '$(srcdir)/$(item)')
htmlref_patterns_quote = $(patsubst %,'%',$(htmlref_patterns))
htmlref_patterns_vpath = $(if $(srcdir:.=),$(htmlref_patterns_dup),$(htmlref_patterns_quote))
# Expand to a list of -name 'PATTERN' arguments for use with 'find'.
htmlref_find_patterns = $(patsubst %,-name '%' -o,$(notdir $(htmlref_patterns))) -false
# The parameters to the Doxygen-to-Devhelp XSLT script
dh_xsl_params = --stringparam book_title '$(book_title)' \
--stringparam book_name '$(book_name)' \
--stringparam book_base html
# Generated configuration files which, when updated, should cause the
# reference documentation to be rebuilt.
doc_config_deps = $(CONFIG_HEADER) $(srcdir)/$(doc_config).in $(srcdir)/Makefile.in
# Regenerate the documentation automatically only in maintainer mode.
# Depend on the generated configuration header files to trigger a rebuild
# if a configuration value changed. The configuration header files only
# have their timestamp modified when the content actually changed, which
# is not the case for any other files generated by configure.
if MAINTAINER_MODE
doc_dependencies = $(doc_config_deps) $(doc_input)
else
doc_dependencies =
endif
# Explicitly depend on the files to be distributed or installed.
all-local: $(doc_inst_files) $(doc_dist_files)
# Hook up custom rules for translating references to external documentation
# to the actual location at install time.
install-data-local: $(doc_inst_targets)
# Hook up corresponding custom uninstall rules.
uninstall-local: $(addprefix un,$(doc_inst_targets))
# Install the HTML reference documentation files with just one invocation
# of doc-install.pl to speed up the build process. Make use of the --glob
# option, which tells it to perform filename globbing itself, like 'find'.
# This helps to avoid excessively long command lines, as some platforms
# have rather restrictive limits.
install-htmlref: $(doc_outdir)/html/index.html
@$(NORMAL_INSTALL)
$(MKDIR_P) '$(DESTDIR)$(htmlrefdir)'
$(htmlref_install) -t '$(DESTDIR)$(htmlrefdir)' --glob -- $(htmlref_patterns_vpath)
# Delete files from the html installation directory. Avoid recursive
# directory removal, and apply the same wildcard pattern as was used to
# select files for installation.
uninstall-htmlref:
@$(NORMAL_UNINSTALL)
(cd '$(DESTDIR)$(htmlrefdir)' 2>/dev/null || exit 0; \
find . -type f '(' $(htmlref_find_patterns) ')' -exec rm -f '{}' '+')
-test ! -r '$(DESTDIR)$(htmlrefdir)' || rmdir '$(DESTDIR)$(htmlrefdir)'
# Install the Devhelp file, translating the base path on the fly.
install-devhelp: $(devhelpfile)
@$(NORMAL_INSTALL)
$(MKDIR_P) '$(DESTDIR)$(devhelpdir)'
$(devhelp_install) -t '$(DESTDIR)$(devhelpdir)' -- $^
# Remove the installed Devhelp file and directory.
uninstall-devhelp:
@$(NORMAL_UNINSTALL)
rm -f '$(DESTDIR)$(devhelpdir)/$(notdir $(devhelpfile))'
-test ! -r '$(DESTDIR)$(devhelpdir)' || rmdir '$(DESTDIR)$(devhelpdir)'
# Regenerate the Doxygen configuration file automatically. In the
# top-level build directory Automake already takes care of this.
# ifneq ($(subdir),.)
#$(doc_config): $(srcdir)/$(doc_config).in $(top_builddir)/config.status
# $(AM_V_GEN)cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
#
# endif
# Make sure that the documentation will always have been generated before
# executing commands of a rule that depends on files in $(doc_outdir)/html/.
$(doc_outdir)/html/%: | $(doxytagfile)
# Run Doxygen to build the reference documentation. The generated tag file
# also functions as time stamp target for the documentation as a whole.
$(doxytagfile): $(doc_dependencies) | $(doc_config)
-$(AM_V_at)rm -f $@
-$(AM_V_at)rm -fr $(doc_outdir)/html
$(AM_V_GEN)(echo '@INCLUDE =' $(doc_config) && echo 'INPUT =' $(doc_input)) | $(DOXYGEN) -
$(AM_V_at)$(doc_postprocess) '$(doc_outdir)/html/*.html'
# Run XSL transformation to generate a Devhelp book from a Doxygen tag file.
%.devhelp2: %.tag
$(AM_V_GEN)$(XSLTPROC) $(dh_xsl_params) -o $@ $(tagfile_to_devhelp2) $<
.PHONY: install-htmlref uninstall-htmlref install-devhelp uninstall-devhelp
# Instruct GNU make to delete the targets of a rule after it failed, in
# order to avoid the complication of handling that situation manually.
.DELETE_ON_ERROR:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<xsl:output method="xml" version="1.0" indent="yes"/>
<xsl:param name="reference_prefix">../../../doc/gtkmm-2.4/docs/reference/html/</xsl:param>
<xsl:template match="/">
<book title="gtkmm 2.4 library Reference Manual"
name="gtkmm 2.4"
link="{$reference_prefix}index.html">
<chapters>
<sub name="Classes" link="{$reference_prefix}classes.html">
<xsl:apply-templates select="doxygenindex/compound[@kind='class']">
<xsl:sort select="."/>
</xsl:apply-templates>
</sub>
<sub name="Namespaces" link="{$reference_prefix}namespaces.html">
<xsl:apply-templates select="doxygenindex/compound[@kind='namespace']">
<xsl:sort select="."/>
</xsl:apply-templates>
</sub>
</chapters>
<functions>
<!-- @todo: maybe select only the real functions, ie those with kind=="function"? -->
<xsl:apply-templates select="doxygenindex/compound/member" mode="as-function"/>
</functions>
</book>
</xsl:template>
<xsl:template match="compound">
<xsl:param name="name"><xsl:value-of select="name"/></xsl:param>
<xsl:param name="link"><xsl:value-of select="@refid"/>.html</xsl:param>
<sub name="{$name}" link="{$reference_prefix}{$link}">
<xsl:apply-templates select="member" mode="as-sub">
<xsl:sort select="."/>
</xsl:apply-templates>
</sub>