diff mbox

[2/4] doc: update to latest ax_prog_doxygen.m4

Message ID 1455421338-9593-2-git-send-email-mike.holmes@linaro.org
State Superseded
Headers show

Commit Message

Mike Holmes Feb. 14, 2016, 3:42 a.m. UTC
fixes https://bugs.linaro.org/show_bug.cgi?id=1946

Move to the latest m4 scripts for doxygen and revert to using it without
modification, thus make doxygen-html becomes make doxygen-doc.
Also cleans up the last parts of the previously removed .pdf support.
Output now left in application-api-guide to match the other guides.

Signed-off-by: Mike Holmes <mike.holmes@linaro.org>
---
 Makefile.am           |   2 +-
 README                |   2 +-
 aminclude.am          | 167 -------------------
 configure.ac          |   5 +-
 m4/ax_prog_doxygen.m4 | 449 +++++++++++++++++++++++++++++---------------------
 5 files changed, 268 insertions(+), 357 deletions(-)
 delete mode 100644 aminclude.am

Comments

Bill Fischofer Feb. 14, 2016, 8:49 p.m. UTC | #1
Applying this series to a fresh clone if I do:

./bootstrap
./configure --enable-cunit-support --enable-user-guides
make doxygen-doc

I get this:

bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc
  DXGEN  doc/application-api-guide/doxygen.cfg
error: configuration file ./doc/application-api-guide/doxygen.cfg not found!
Doxygen version 1.8.9.1
Copyright Dimitri van Heesch 1997-2014

You can use doxygen in a number of ways:

1) Use doxygen to generate a template configuration file:
    /usr/bin/doxygen [-s] -g [configName]

    If - is used for configName doxygen will write to standard output.

2) Use doxygen to update an old configuration file:
    /usr/bin/doxygen [-s] -u [configName]

3) Use doxygen to generate documentation using an existing configuration
file:
    /usr/bin/doxygen [configName]

    If - is used for configName doxygen will read from standard input.

4) Use doxygen to generate a template file controlling the layout of the
   generated documentation:
    /usr/bin/doxygen -l [layoutFileName.xml]

5) Use doxygen to generate a template style sheet file for RTF, HTML or
Latex.
    RTF:        /usr/bin/doxygen -w rtf styleSheetFile
    HTML:       /usr/bin/doxygen -w html headerFile footerFile
styleSheetFile [configFile]
    LaTeX:      /usr/bin/doxygen -w latex headerFile footerFile
styleSheetFile [configFile]

6) Use doxygen to generate a rtf extensions file
    RTF:   /usr/bin/doxygen -e rtf extensionsFile

If -s is specified the comments of the configuration items in the config
file will be omitted.
If configName is omitted `Doxyfile' will be used as a default.

-v print version string
Makefile:893: recipe for target
'doc/application-api-guide/opendataplane.tag' failed
make: *** [doc/application-api-guide/opendataplane.tag] Error 1

---
If I do a make (which seems to generate the user guides correctly) and then
do a make doxygen-doc I get this:

bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc
make: *** No rule to make target 'doc/application-api-guide/doxygen.cfg',
needed by 'doc/application-api-guide/opendataplane.tag'.  Stop.




On Sat, Feb 13, 2016 at 9:42 PM, Mike Holmes <mike.holmes@linaro.org> wrote:

> fixes https://bugs.linaro.org/show_bug.cgi?id=1946

>

> Move to the latest m4 scripts for doxygen and revert to using it without

> modification, thus make doxygen-html becomes make doxygen-doc.

> Also cleans up the last parts of the previously removed .pdf support.

> Output now left in application-api-guide to match the other guides.

>

> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

> ---

>  Makefile.am           |   2 +-

>  README                |   2 +-

>  aminclude.am          | 167 -------------------

>  configure.ac          |   5 +-

>  m4/ax_prog_doxygen.m4 | 449

> +++++++++++++++++++++++++++++---------------------

>  5 files changed, 268 insertions(+), 357 deletions(-)

>  delete mode 100644 aminclude.am

>

> diff --git a/Makefile.am b/Makefile.am

> index 2acbe3d..2129472 100644

> --- a/Makefile.am

> +++ b/Makefile.am

> @@ -15,6 +15,6 @@ SUBDIRS = @platform_with_platform@ \

>           example \

>           scripts

>

> -include $(top_srcdir)/aminclude.am

> +@DX_RULES@

>

>  EXTRA_DIST = bootstrap $(DX_CONFIG) CHANGELOG config/README .scmversion

> diff --git a/README b/README

> index d8583be..4350b95 100644

> --- a/README

> +++ b/README

> @@ -17,7 +17,7 @@ Main git repository:

>      In general you can build:

>      ./bootstrap

>      ./configure

> -    Use 'make' to build ODP library and samples and 'make doxygen-html'

> to build

> +    Use 'make' to build ODP library and samples and 'make doxygen-doc' to

> build

>      ODP API documentation. 'make install' will copy all required headers

> and

>      binary files to the install directory.

>

> diff --git a/aminclude.am b/aminclude.am

> deleted file mode 100644

> index 1b0ec01..0000000

> --- a/aminclude.am

> +++ /dev/null

> @@ -1,167 +0,0 @@

> -# LICENSE

> -#

> -#   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

> -#

> -#   Copying and distribution of this file, with or without modification,

> are

> -#   permitted in any medium without royalty provided the copyright notice

> -#   and this notice are preserved. This file is offered as-is, without any

> -#   warranty.

> -#

> -

> -## --------------------------------- ##

> -## Format-independent Doxygen rules. ##

> -## --------------------------------- ##

> -

> -if DX_COND_doc

> -

> -## ------------------------------- ##

> -## Rules specific for HTML output. ##

> -## ------------------------------- ##

> -

> -if DX_COND_html

> -

> -DX_CLEAN_HTML = @DX_DOCDIR@/html

> -

> -endif DX_COND_html

> -

> -## ------------------------------ ##

> -## Rules specific for CHM output. ##

> -## ------------------------------ ##

> -

> -if DX_COND_chm

> -

> -DX_CLEAN_CHM = @DX_DOCDIR@/chm

> -

> -if DX_COND_chi

> -

> -DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

> -

> -endif DX_COND_chi

> -

> -endif DX_COND_chm

> -

> -## ------------------------------ ##

> -## Rules specific for MAN output. ##

> -## ------------------------------ ##

> -

> -if DX_COND_man

> -

> -DX_CLEAN_MAN = @DX_DOCDIR@/man

> -

> -endif DX_COND_man

> -

> -## ------------------------------ ##

> -## Rules specific for RTF output. ##

> -## ------------------------------ ##

> -

> -if DX_COND_rtf

> -

> -DX_CLEAN_RTF = @DX_DOCDIR@/rtf

> -

> -endif DX_COND_rtf

> -

> -## ------------------------------ ##

> -## Rules specific for XML output. ##

> -## ------------------------------ ##

> -

> -if DX_COND_xml

> -

> -DX_CLEAN_XML = @DX_DOCDIR@/xml

> -

> -endif DX_COND_xml

> -

> -## ----------------------------- ##

> -## Rules specific for PS output. ##

> -## ----------------------------- ##

> -

> -if DX_COND_ps

> -

> -DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

> -

> -DX_PS_GOAL = doxygen-ps

> -

> -doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

> -

> -@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

> -       cd @DX_DOCDIR@/latex; \

> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

> -       $(DX_LATEX) refman.tex; \

> -       $(MAKEINDEX_PATH) refman.idx; \

> -       $(DX_LATEX) refman.tex; \

> -       countdown=5; \

> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \

> -                         refman.log > /dev/null 2>&1 \

> -          && test $$countdown -gt 0; do \

> -           $(DX_LATEX) refman.tex; \

> -           countdown=`expr $$countdown - 1`; \

> -       done; \

> -       $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

> -

> -endif DX_COND_ps

> -

> -## ------------------------------ ##

> -## Rules specific for PDF output. ##

> -## ------------------------------ ##

> -

> -if DX_COND_pdf

> -

> -DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

> -

> -DX_PDF_GOAL = doxygen-pdf

> -

> -doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

> -

> -@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

> -       cd @DX_DOCDIR@/latex; \

> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

> -       $(DX_PDFLATEX) refman.tex; \

> -       $(DX_MAKEINDEX) refman.idx; \

> -       $(DX_PDFLATEX) refman.tex; \

> -       countdown=5; \

> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \

> -                         refman.log > /dev/null 2>&1 \

> -          && test $$countdown -gt 0; do \

> -           $(DX_PDFLATEX) refman.tex; \

> -           countdown=`expr $$countdown - 1`; \

> -       done; \

> -       mv refman.pdf ../@PACKAGE@.pdf

> -

> -endif DX_COND_pdf

> -

> -## ------------------------------------------------- ##

> -## Rules specific for LaTeX (shared for PS and PDF). ##

> -## ------------------------------------------------- ##

> -

> -if DX_COND_latex

> -

> -DX_CLEAN_LATEX = @DX_DOCDIR@/latex

> -

> -endif DX_COND_latex

> -

> -.PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

> -

> -.INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

> -

> -doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

> -

> -doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

> -

> -@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

> -       rm -rf @DX_DOCDIR@

> -       make --directory=$(srcdir)/doc/images

> -       $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

> -

> -DX_CLEANFILES = \

> -    @DX_DOCDIR@/@PACKAGE@.tag \

> -    -r \

> -    $(DX_CLEAN_HTML) \

> -    $(DX_CLEAN_CHM) \

> -    $(DX_CLEAN_CHI) \

> -    $(DX_CLEAN_MAN) \

> -    $(DX_CLEAN_RTF) \

> -    $(DX_CLEAN_XML) \

> -    $(DX_CLEAN_PS) \

> -    $(DX_CLEAN_PDF) \

> -    $(DX_CLEAN_LATEX)

> -

> -endif DX_COND_doc

> diff --git a/configure.ac b/configure.ac

> index 8108ff2..c0c2af3 100644

> --- a/configure.ac

> +++ b/configure.ac

> @@ -141,8 +141,9 @@ AC_ARG_ENABLE([cunit_support],

>  # Setup doxygen documentation

>  ##########################################################################

>  DX_HTML_FEATURE(ON)

> -DX_PDF_FEATURE(ON)

> -DX_INIT_DOXYGEN($PACKAGE_NAME, doc/application-api-guide/doxygen.cfg,

> doc/output)

> +DX_PDF_FEATURE(OFF)

> +DX_PS_FEATURE(OFF)

> +DX_INIT_DOXYGEN($PACKAGE_NAME,

> ${srcdir}/doc/application-api-guide/doxygen.cfg,

> ${builddir}/doc/application-api-guide)

>  ##########################################################################

>  # Enable/disable Unit tests

>  ##########################################################################

> diff --git a/m4/ax_prog_doxygen.m4 b/m4/ax_prog_doxygen.m4

> index 58bb016..d0858ca 100644

> --- a/m4/ax_prog_doxygen.m4

> +++ b/m4/ax_prog_doxygen.m4

> @@ -4,7 +4,7 @@

>  #

>  # SYNOPSIS

>  #

> -#   DX_INIT_DOXYGEN(PROJECT-NAME, DOXYFILE-PATH, [OUTPUT-DIR])

> +#   DX_INIT_DOXYGEN(PROJECT-NAME, [DOXYFILE-PATH], [OUTPUT-DIR], ...)

>  #   DX_DOXYGEN_FEATURE(ON|OFF)

>  #   DX_DOT_FEATURE(ON|OFF)

>  #   DX_HTML_FEATURE(ON|OFF)

> @@ -45,25 +45,28 @@

>  #   Once all the feature defaults have been specified, call

> DX_INIT_DOXYGEN

>  #   with the following parameters: a one-word name for the project for use

>  #   as a filename base etc., an optional configuration file name (the

> -#   default is 'Doxyfile', the same as Doxygen's default), and an optional

> -#   output directory name (the default is 'doxygen-doc').

> +#   default is '$(srcdir)/Doxyfile', the same as Doxygen's default), and

> an

> +#   optional output directory name (the default is 'doxygen-doc'). To run

> +#   doxygen multiple times for different configuration files and output

> +#   directories provide more parameters: the second, forth, sixth, etc

> +#   parameter are configuration file names and the third, fifth, seventh,

> +#   etc parameter are output directories. No checking is done to catch

> +#   duplicates.

>  #

>  #   Automake Support

>  #

> -#   The following is a template aminclude.am file for use with Automake.

> -#   Make targets and variables values are controlled by the various

> -#   DX_COND_* conditionals set by autoconf.

> +#   The DX_RULES substitution can be used to add all needed rules to the

> +#   Makefile. Note that this is a substitution without being a variable:

> +#   only the @DX_RULES@ syntax will work.

>  #

>  #   The provided targets are:

>  #

>  #     doxygen-doc: Generate all doxygen documentation.

>  #

> -#     doxygen-html: Run doxygen, which will generate some of the

> +#     doxygen-run: Run doxygen, which will generate some of the

>  #                  documentation (HTML, CHM, CHI, MAN, RTF, XML)

>  #                  but will not do the post processing required

> -#                  for the rest of it (PS, PDF, and some MAN).

> -#

> -#     doxygen-man: Rename some doxygen generated man pages.

> +#                  for the rest of it (PS, PDF).

>  #

>  #     doxygen-ps:  Generate doxygen PostScript documentation.

>  #

> @@ -84,177 +87,17 @@

>  #

>  #   Then add this variable to MOSTLYCLEANFILES.

>  #

> -#     ----- begin aminclude.am -------------------------------------

> -#

> -#     ## --------------------------------- ##

> -#     ## Format-independent Doxygen rules. ##

> -#     ## --------------------------------- ##

> -#

> -#     if DX_COND_doc

> -#

> -#     ## ------------------------------- ##

> -#     ## Rules specific for HTML output. ##

> -#     ## ------------------------------- ##

> -#

> -#     if DX_COND_html

> -#

> -#     DX_CLEAN_HTML = @DX_DOCDIR@/html

> -#

> -#     endif DX_COND_html

> -#

> -#     ## ------------------------------ ##

> -#     ## Rules specific for CHM output. ##

> -#     ## ------------------------------ ##

> -#

> -#     if DX_COND_chm

> -#

> -#     DX_CLEAN_CHM = @DX_DOCDIR@/chm

> -#

> -#     if DX_COND_chi

> -#

> -#     DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

> -#

> -#     endif DX_COND_chi

> -#

> -#     endif DX_COND_chm

> -#

> -#     ## ------------------------------ ##

> -#     ## Rules specific for MAN output. ##

> -#     ## ------------------------------ ##

> -#

> -#     if DX_COND_man

> -#

> -#     DX_CLEAN_MAN = @DX_DOCDIR@/man

> -#

> -#     endif DX_COND_man

> -#

> -#     ## ------------------------------ ##

> -#     ## Rules specific for RTF output. ##

> -#     ## ------------------------------ ##

> -#

> -#     if DX_COND_rtf

> -#

> -#     DX_CLEAN_RTF = @DX_DOCDIR@/rtf

> -#

> -#     endif DX_COND_rtf

> -#

> -#     ## ------------------------------ ##

> -#     ## Rules specific for XML output. ##

> -#     ## ------------------------------ ##

> -#

> -#     if DX_COND_xml

> -#

> -#     DX_CLEAN_XML = @DX_DOCDIR@/xml

> -#

> -#     endif DX_COND_xml

> -#

> -#     ## ----------------------------- ##

> -#     ## Rules specific for PS output. ##

> -#     ## ----------------------------- ##

> -#

> -#     if DX_COND_ps

> -#

> -#     DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

> -#

> -#     DX_PS_GOAL = doxygen-ps

> -#

> -#     doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

> -#

> -#     @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

> -#         cd @DX_DOCDIR@/latex; \

> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

> -#         $(DX_LATEX) refman.tex; \

> -#         $(MAKEINDEX_PATH) refman.idx; \

> -#         $(DX_LATEX) refman.tex; \

> -#         countdown=5; \

> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

> \

> -#                           refman.log > /dev/null 2>&1 \

> -#            && test $$countdown -gt 0; do \

> -#             $(DX_LATEX) refman.tex; \

> -#             countdown=`expr $$countdown - 1`; \

> -#         done; \

> -#         $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

> -#

> -#     endif DX_COND_ps

> -#

> -#     ## ------------------------------ ##

> -#     ## Rules specific for PDF output. ##

> -#     ## ------------------------------ ##

> -#

> -#     if DX_COND_pdf

> -#

> -#     DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

> -#

> -#     DX_PDF_GOAL = doxygen-pdf

> -#

> -#     doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

> -#

> -#     @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

> -#         cd @DX_DOCDIR@/latex; \

> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

> -#         $(DX_PDFLATEX) refman.tex; \

> -#         $(DX_MAKEINDEX) refman.idx; \

> -#         $(DX_PDFLATEX) refman.tex; \

> -#         countdown=5; \

> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

> \

> -#                           refman.log > /dev/null 2>&1 \

> -#            && test $$countdown -gt 0; do \

> -#             $(DX_PDFLATEX) refman.tex; \

> -#             countdown=`expr $$countdown - 1`; \

> -#         done; \

> -#         mv refman.pdf ../@PACKAGE@.pdf

> -#

> -#     endif DX_COND_pdf

> -#

> -#     ## ------------------------------------------------- ##

> -#     ## Rules specific for LaTeX (shared for PS and PDF). ##

> -#     ## ------------------------------------------------- ##

> -#

> -#     if DX_COND_latex

> -#

> -#     DX_CLEAN_LATEX = @DX_DOCDIR@/latex

> -#

> -#     endif DX_COND_latex

> -#

> -#     .PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

> -#

> -#     .INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

> -#

> -#     doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

> -#

> -#     doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

> -#

> -#     @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

> -#         rm -rf @DX_DOCDIR@

> -#         $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

> -#

> -#     DX_CLEANFILES = \

> -#         @DX_DOCDIR@/@PACKAGE@.tag \

> -#         -r \

> -#         $(DX_CLEAN_HTML) \

> -#         $(DX_CLEAN_CHM) \

> -#         $(DX_CLEAN_CHI) \

> -#         $(DX_CLEAN_MAN) \

> -#         $(DX_CLEAN_RTF) \

> -#         $(DX_CLEAN_XML) \

> -#         $(DX_CLEAN_PS) \

> -#         $(DX_CLEAN_PDF) \

> -#         $(DX_CLEAN_LATEX)

> -#

> -#     endif DX_COND_doc

> -#

> -#     ----- end aminclude.am ---------------------------------------

> -#

>  # LICENSE

>  #

>  #   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

> +#   Copyright (c) 2015 Olaf Mandel <olaf@mandel.name>

>  #

>  #   Copying and distribution of this file, with or without modification,

> are

>  #   permitted in any medium without royalty provided the copyright notice

>  #   and this notice are preserved. This file is offered as-is, without any

>  #   warranty.

>

> -#serial 12

> +#serial 18

>

>  ## ----------##

>  ## Defaults. ##

> @@ -278,8 +121,14 @@ AC_DEFUN([DX_FEATURE_ps],   ON)

>

>  # DX_ENV_APPEND(VARIABLE, VALUE)

>  # ------------------------------

> -# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.

> -AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])

> +# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen and add it

> +# as a substitution (but not a Makefile variable). The substitution

> +# is skipped if the variable name is VERSION.

> +AC_DEFUN([DX_ENV_APPEND],

> +[AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])dnl

> +m4_if([$1], [VERSION], [], [AC_SUBST([$1], [$2])dnl

> +AM_SUBST_NOTMAKE([$1])])dnl

> +])

>

>  # DX_DIRNAME_EXPR

>  # ---------------

> @@ -364,7 +213,6 @@ if DX_TEST_FEATURE([$1]); then

>      $5

>      :

>  fi

> -AM_CONDITIONAL(DX_COND_$1, DX_TEST_FEATURE([$1]))

>  if DX_TEST_FEATURE([$1]); then

>      $6

>      :

> @@ -392,23 +240,38 @@ AC_DEFUN([DX_XML_FEATURE],

>  [AC_DEFUN([DX_FEATURE_xml],  [$1])])

>  AC_DEFUN([DX_PDF_FEATURE],     [AC_DEFUN([DX_FEATURE_pdf],  [$1])])

>  AC_DEFUN([DX_PS_FEATURE],      [AC_DEFUN([DX_FEATURE_ps],   [$1])])

>

> -# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])

> -# ---------------------------------------------------------

> +# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR], ...)

> +# --------------------------------------------------------------

>  # PROJECT also serves as the base name for the documentation files.

> -# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is

> "doxygen-doc".

> +# The default CONFIG-FILE is "$(srcdir)/Doxyfile" and OUTPUT-DOC-DIR is

> +# "doxygen-doc".

> +# More arguments are interpreted as interleaved CONFIG-FILE and

> +# OUTPUT-DOC-DIR values.

>  AC_DEFUN([DX_INIT_DOXYGEN], [

>

>  # Files:

>  AC_SUBST([DX_PROJECT], [$1])

> -AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])

> -AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])

> +AC_SUBST([DX_CONFIG], ['ifelse([$2], [], [$(srcdir)/Doxyfile], [$2])'])

> +AC_SUBST([DX_DOCDIR], ['ifelse([$3], [], [doxygen-doc], [$3])'])

> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 4, m4_count($@), 2,

> +      [AC_SUBST([DX_CONFIG]m4_eval(DX_i[/2]),

> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

> +                                          [$(srcdir)/Doxyfile])')])])dnl

> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 5, m4_count($@,), 2,

> +      [AC_SUBST([DX_DOCDIR]m4_eval([(]DX_i[-1)/2]),

> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

> +                                          [doxygen-doc])')])])dnl

> +m4_define([DX_loop], m4_dquote(m4_if(m4_eval(3 < m4_count($@)), 1,

> +          [m4_for([DX_i], 4, m4_count($@), 2, [, m4_eval(DX_i[/2])])],

> +          [])))dnl

>

>  # Environment variables used inside doxygen.cfg:

>  DX_ENV_APPEND(SRCDIR, $srcdir)

> -DX_ENV_APPEND(PROJECT, $DX_PROJECT)

> -DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)

> +DX_ENV_APPEND(BUILDDIR, $builddir)

>  DX_ENV_APPEND(VERSION, $VERSION)

>  DX_ENV_APPEND(WITH_PLATFORM, $with_platform)

> +DX_ENV_APPEND(PROJECT, $DX_PROJECT)

> +DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)

>

>  # Doxygen itself:

>  DX_ARG_ABLE(doc, [generate any doxygen documentation],

> @@ -495,7 +358,6 @@ DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],

>               DX_REQUIRE_PROG([DX_EGREP], egrep)])

>

>  # LaTeX generation for PS and/or PDF:

> -AM_CONDITIONAL(DX_COND_latex, DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf))

>  if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then

>      DX_ENV_APPEND(GENERATE_LATEX, YES)

>  else

> @@ -518,11 +380,226 @@ a4wide|a4|letter|legal|executive)

>  ;;

>  esac

>

> +# Rules:

> +if test $DX_FLAG_html -eq 1; then

> +    DX_SNIPPET_html="## ------------------------------- ##

> +## Rules specific for HTML output. ##

> +## ------------------------------- ##

> +

> +DX_CLEAN_HTML = \$(DX_DOCDIR)/html[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +                \$(DX_DOCDIR]DX_i[)/html]])

> +

> +"

> +else

> +    DX_SNIPPET_html=""

> +fi

> +if test $DX_FLAG_chi -eq 1; then

> +    DX_SNIPPET_chi="

> +DX_CLEAN_CHI = \$(DX_DOCDIR)/\$(PACKAGE).chi[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).chi]])"

> +else

> +    DX_SNIPPET_chi=""

> +fi

> +if test $DX_FLAG_chm -eq 1; then

> +    DX_SNIPPET_chm="## ------------------------------ ##

> +## Rules specific for CHM output. ##

> +## ------------------------------ ##

> +

> +DX_CLEAN_CHM = \$(DX_DOCDIR)/chm[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +               \$(DX_DOCDIR]DX_i[)/chm]])\

> +${DX_SNIPPET_chi}

> +

> +"

> +else

> +    DX_SNIPPET_chm=""

> +fi

> +if test $DX_FLAG_man -eq 1; then

> +    DX_SNIPPET_man="## ------------------------------ ##

> +## Rules specific for MAN output. ##

> +## ------------------------------ ##

> +

> +DX_CLEAN_MAN = \$(DX_DOCDIR)/man[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +               \$(DX_DOCDIR]DX_i[)/man]])

> +

> +"

> +else

> +    DX_SNIPPET_man=""

> +fi

> +if test $DX_FLAG_rtf -eq 1; then

> +    DX_SNIPPET_rtf="## ------------------------------ ##

> +## Rules specific for RTF output. ##

> +## ------------------------------ ##

> +

> +DX_CLEAN_RTF = \$(DX_DOCDIR)/rtf[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +               \$(DX_DOCDIR]DX_i[)/rtf]])

> +

> +"

> +else

> +    DX_SNIPPET_rtf=""

> +fi

> +if test $DX_FLAG_xml -eq 1; then

> +    DX_SNIPPET_xml="## ------------------------------ ##

> +## Rules specific for XML output. ##

> +## ------------------------------ ##

> +

> +DX_CLEAN_XML = \$(DX_DOCDIR)/xml[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +               \$(DX_DOCDIR]DX_i[)/xml]])

> +

> +"

> +else

> +    DX_SNIPPET_xml=""

> +fi

> +if test $DX_FLAG_ps -eq 1; then

> +    DX_SNIPPET_ps="## ----------------------------- ##

> +## Rules specific for PS output. ##

> +## ----------------------------- ##

> +

> +DX_CLEAN_PS = \$(DX_DOCDIR)/\$(PACKAGE).ps[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +              \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps]])

> +

> +DX_PS_GOAL = doxygen-ps

> +

> +doxygen-ps: \$(DX_CLEAN_PS)

> +

> +m4_foreach([DX_i], [DX_loop],

> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps: \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

> +       \$(DX_LATEX) refman.tex; \\

> +       \$(DX_MAKEINDEX) refman.idx; \\

> +       \$(DX_LATEX) refman.tex; \\

> +       countdown=5; \\

> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \\

> +                         refman.log > /dev/null 2>&1 \\

> +          && test \$\$countdown -gt 0; do \\

> +           \$(DX_LATEX) refman.tex; \\

> +            countdown=\`expr \$\$countdown - 1\`; \\

> +       done; \\

> +       \$(DX_DVIPS) -o ../\$(PACKAGE).ps refman.dvi

> +

> +]])dnl

> +"

> +else

> +    DX_SNIPPET_ps=""

> +fi

> +if test $DX_FLAG_pdf -eq 1; then

> +    DX_SNIPPET_pdf="## ------------------------------ ##

> +## Rules specific for PDF output. ##

> +## ------------------------------ ##

> +

> +DX_CLEAN_PDF = \$(DX_DOCDIR)/\$(PACKAGE).pdf[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf]])

> +

> +DX_PDF_GOAL = doxygen-pdf

> +

> +doxygen-pdf: \$(DX_CLEAN_PDF)

> +

> +m4_foreach([DX_i], [DX_loop],

> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf: \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

> +       \$(DX_PDFLATEX) refman.tex; \\

> +       \$(DX_MAKEINDEX) refman.idx; \\

> +       \$(DX_PDFLATEX) refman.tex; \\

> +       countdown=5; \\

> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \\

> +                         refman.log > /dev/null 2>&1 \\

> +          && test \$\$countdown -gt 0; do \\

> +           \$(DX_PDFLATEX) refman.tex; \\

> +           countdown=\`expr \$\$countdown - 1\`; \\

> +       done; \\

> +       mv refman.pdf ../\$(PACKAGE).pdf

> +

> +]])dnl

> +"

> +else

> +    DX_SNIPPET_pdf=""

> +fi

> +if test $DX_FLAG_ps -eq 1 -o $DX_FLAG_pdf -eq 1; then

> +    DX_SNIPPET_latex="##

> ------------------------------------------------- ##

> +## Rules specific for LaTeX (shared for PS and PDF). ##

> +## ------------------------------------------------- ##

> +

> +DX_V_LATEX = \$(_DX_v_LATEX_\$(V))

> +_DX_v_LATEX_ = \$(_DX_v_LATEX_\$(AM_DEFAULT_VERBOSITY))

> +_DX_v_LATEX_0 = @echo \"  LATEX \" \$[]][[]@;

> +

> +DX_CLEAN_LATEX = \$(DX_DOCDIR)/latex[]dnl

> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

> +                 \$(DX_DOCDIR]DX_i[)/latex]])

> +

> +"

> +else

> +    DX_SNIPPET_latex=""

> +fi

> +

> +if test $DX_FLAG_doc -eq 1; then

> +    DX_SNIPPET_doc="## --------------------------------- ##

> +## Format-independent Doxygen rules. ##

> +## --------------------------------- ##

> +

> +${DX_SNIPPET_html}\

> +${DX_SNIPPET_chm}\

> +${DX_SNIPPET_man}\

> +${DX_SNIPPET_rtf}\

> +${DX_SNIPPET_xml}\

> +${DX_SNIPPET_ps}\

> +${DX_SNIPPET_pdf}\

> +${DX_SNIPPET_latex}\

> +DX_V_DXGEN = \$(_DX_v_DXGEN_\$(V))

> +_DX_v_DXGEN_ = \$(_DX_v_DXGEN_\$(AM_DEFAULT_VERBOSITY))

> +_DX_v_DXGEN_0 = @echo \"  DXGEN \" \$<;

> +

> +.PHONY: doxygen-run doxygen-doc \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

> +

> +.INTERMEDIATE: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

> +

> +doxygen-run:[]m4_foreach([DX_i], [DX_loop],

> +                         [[ \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag]])

> +

> +doxygen-doc: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

> +

> +m4_foreach([DX_i], [DX_loop],

> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag: \$(DX_CONFIG]DX_i[)

> \$(pkginclude_HEADERS)

> +       \$(A""M_V_at)rm -rf \$(DX_DOCDIR]DX_i[)

> +       \$(DX_V_DXGEN)\$(DX_ENV) DOCDIR=\$(DX_DOCDIR]DX_i[) \$(DX_DOXYGEN)

> \$(DX_CONFIG]DX_i[)

> +       \$(A""M_V_at)echo Timestamp >\$][@

> +

> +]])dnl

> +DX_CLEANFILES = \\

> +m4_foreach([DX_i], [DX_loop],

> +[[     \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag \\

> +]])dnl

> +       -r \\

> +       \$(DX_CLEAN_HTML) \\

> +       \$(DX_CLEAN_CHM) \\

> +       \$(DX_CLEAN_CHI) \\

> +       \$(DX_CLEAN_MAN) \\

> +       \$(DX_CLEAN_RTF) \\

> +       \$(DX_CLEAN_XML) \\

> +       \$(DX_CLEAN_PS) \\

> +       \$(DX_CLEAN_PDF) \\

> +       \$(DX_CLEAN_LATEX)"

> +else

> +    DX_SNIPPET_doc=""

> +fi

> +AC_SUBST([DX_RULES],

> +["${DX_SNIPPET_doc}"])dnl

> +AM_SUBST_NOTMAKE([DX_RULES])

> +

>  #For debugging:

> -#echo DX_FLAG_doc=$DX_FLAG_doc

> +echo DX_FLAG_doc=$DX_FLAG_doc

>  #echo DX_FLAG_dot=$DX_FLAG_dot

>  #echo DX_FLAG_man=$DX_FLAG_man

> -#echo DX_FLAG_html=$DX_FLAG_html

> +echo DX_FLAG_html=$DX_FLAG_html

>  #echo DX_FLAG_chm=$DX_FLAG_chm

>  #echo DX_FLAG_chi=$DX_FLAG_chi

>  #echo DX_FLAG_rtf=$DX_FLAG_rtf

> @@ -530,4 +607,4 @@ esac

>  #echo DX_FLAG_pdf=$DX_FLAG_pdf

>  #echo DX_FLAG_ps=$DX_FLAG_ps

>  #echo DX_ENV=$DX_ENV

> -])

> +])

> \ No newline at end of file

> --

> 2.5.0

>

> _______________________________________________

> lng-odp mailing list

> lng-odp@lists.linaro.org

> https://lists.linaro.org/mailman/listinfo/lng-odp

>
Mike Holmes Feb. 15, 2016, 1:12 p.m. UTC | #2
Thanks,  let me see if I can get this  same result, I did that same
procedure so many times - assume you are on 15.10 basic ubuntu box ?

On 14 February 2016 at 15:49, Bill Fischofer <bill.fischofer@linaro.org>
wrote:

> Applying this series to a fresh clone if I do:

>

> ./bootstrap

> ./configure --enable-cunit-support --enable-user-guides

> make doxygen-doc

>

> I get this:

>

> bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc

>   DXGEN  doc/application-api-guide/doxygen.cfg

> error: configuration file ./doc/application-api-guide/doxygen.cfg not

> found!

> Doxygen version 1.8.9.1

> Copyright Dimitri van Heesch 1997-2014

>

> You can use doxygen in a number of ways:

>

> 1) Use doxygen to generate a template configuration file:

>     /usr/bin/doxygen [-s] -g [configName]

>

>     If - is used for configName doxygen will write to standard output.

>

> 2) Use doxygen to update an old configuration file:

>     /usr/bin/doxygen [-s] -u [configName]

>

> 3) Use doxygen to generate documentation using an existing configuration

> file:

>     /usr/bin/doxygen [configName]

>

>     If - is used for configName doxygen will read from standard input.

>

> 4) Use doxygen to generate a template file controlling the layout of the

>    generated documentation:

>     /usr/bin/doxygen -l [layoutFileName.xml]

>

> 5) Use doxygen to generate a template style sheet file for RTF, HTML or

> Latex.

>     RTF:        /usr/bin/doxygen -w rtf styleSheetFile

>     HTML:       /usr/bin/doxygen -w html headerFile footerFile

> styleSheetFile [configFile]

>     LaTeX:      /usr/bin/doxygen -w latex headerFile footerFile

> styleSheetFile [configFile]

>

> 6) Use doxygen to generate a rtf extensions file

>     RTF:   /usr/bin/doxygen -e rtf extensionsFile

>

> If -s is specified the comments of the configuration items in the config

> file will be omitted.

> If configName is omitted `Doxyfile' will be used as a default.

>

> -v print version string

> Makefile:893: recipe for target

> 'doc/application-api-guide/opendataplane.tag' failed

> make: *** [doc/application-api-guide/opendataplane.tag] Error 1

>

> ---

> If I do a make (which seems to generate the user guides correctly) and

> then do a make doxygen-doc I get this:

>

> bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc

> make: *** No rule to make target 'doc/application-api-guide/doxygen.cfg',

> needed by 'doc/application-api-guide/opendataplane.tag'.  Stop.

>

>

>

>

> On Sat, Feb 13, 2016 at 9:42 PM, Mike Holmes <mike.holmes@linaro.org>

> wrote:

>

>> fixes https://bugs.linaro.org/show_bug.cgi?id=1946

>>

>> Move to the latest m4 scripts for doxygen and revert to using it without

>> modification, thus make doxygen-html becomes make doxygen-doc.

>> Also cleans up the last parts of the previously removed .pdf support.

>> Output now left in application-api-guide to match the other guides.

>>

>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

>> ---

>>  Makefile.am           |   2 +-

>>  README                |   2 +-

>>  aminclude.am          | 167 -------------------

>>  configure.ac          |   5 +-

>>  m4/ax_prog_doxygen.m4 | 449

>> +++++++++++++++++++++++++++++---------------------

>>  5 files changed, 268 insertions(+), 357 deletions(-)

>>  delete mode 100644 aminclude.am

>>

>> diff --git a/Makefile.am b/Makefile.am

>> index 2acbe3d..2129472 100644

>> --- a/Makefile.am

>> +++ b/Makefile.am

>> @@ -15,6 +15,6 @@ SUBDIRS = @platform_with_platform@ \

>>           example \

>>           scripts

>>

>> -include $(top_srcdir)/aminclude.am

>> +@DX_RULES@

>>

>>  EXTRA_DIST = bootstrap $(DX_CONFIG) CHANGELOG config/README .scmversion

>> diff --git a/README b/README

>> index d8583be..4350b95 100644

>> --- a/README

>> +++ b/README

>> @@ -17,7 +17,7 @@ Main git repository:

>>      In general you can build:

>>      ./bootstrap

>>      ./configure

>> -    Use 'make' to build ODP library and samples and 'make doxygen-html'

>> to build

>> +    Use 'make' to build ODP library and samples and 'make doxygen-doc'

>> to build

>>      ODP API documentation. 'make install' will copy all required headers

>> and

>>      binary files to the install directory.

>>

>> diff --git a/aminclude.am b/aminclude.am

>> deleted file mode 100644

>> index 1b0ec01..0000000

>> --- a/aminclude.am

>> +++ /dev/null

>> @@ -1,167 +0,0 @@

>> -# LICENSE

>> -#

>> -#   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

>> -#

>> -#   Copying and distribution of this file, with or without modification,

>> are

>> -#   permitted in any medium without royalty provided the copyright notice

>> -#   and this notice are preserved. This file is offered as-is, without

>> any

>> -#   warranty.

>> -#

>> -

>> -## --------------------------------- ##

>> -## Format-independent Doxygen rules. ##

>> -## --------------------------------- ##

>> -

>> -if DX_COND_doc

>> -

>> -## ------------------------------- ##

>> -## Rules specific for HTML output. ##

>> -## ------------------------------- ##

>> -

>> -if DX_COND_html

>> -

>> -DX_CLEAN_HTML = @DX_DOCDIR@/html

>> -

>> -endif DX_COND_html

>> -

>> -## ------------------------------ ##

>> -## Rules specific for CHM output. ##

>> -## ------------------------------ ##

>> -

>> -if DX_COND_chm

>> -

>> -DX_CLEAN_CHM = @DX_DOCDIR@/chm

>> -

>> -if DX_COND_chi

>> -

>> -DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

>> -

>> -endif DX_COND_chi

>> -

>> -endif DX_COND_chm

>> -

>> -## ------------------------------ ##

>> -## Rules specific for MAN output. ##

>> -## ------------------------------ ##

>> -

>> -if DX_COND_man

>> -

>> -DX_CLEAN_MAN = @DX_DOCDIR@/man

>> -

>> -endif DX_COND_man

>> -

>> -## ------------------------------ ##

>> -## Rules specific for RTF output. ##

>> -## ------------------------------ ##

>> -

>> -if DX_COND_rtf

>> -

>> -DX_CLEAN_RTF = @DX_DOCDIR@/rtf

>> -

>> -endif DX_COND_rtf

>> -

>> -## ------------------------------ ##

>> -## Rules specific for XML output. ##

>> -## ------------------------------ ##

>> -

>> -if DX_COND_xml

>> -

>> -DX_CLEAN_XML = @DX_DOCDIR@/xml

>> -

>> -endif DX_COND_xml

>> -

>> -## ----------------------------- ##

>> -## Rules specific for PS output. ##

>> -## ----------------------------- ##

>> -

>> -if DX_COND_ps

>> -

>> -DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

>> -

>> -DX_PS_GOAL = doxygen-ps

>> -

>> -doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

>> -

>> -@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

>> -       cd @DX_DOCDIR@/latex; \

>> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>> -       $(DX_LATEX) refman.tex; \

>> -       $(MAKEINDEX_PATH) refman.idx; \

>> -       $(DX_LATEX) refman.tex; \

>> -       countdown=5; \

>> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \

>> -                         refman.log > /dev/null 2>&1 \

>> -          && test $$countdown -gt 0; do \

>> -           $(DX_LATEX) refman.tex; \

>> -           countdown=`expr $$countdown - 1`; \

>> -       done; \

>> -       $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

>> -

>> -endif DX_COND_ps

>> -

>> -## ------------------------------ ##

>> -## Rules specific for PDF output. ##

>> -## ------------------------------ ##

>> -

>> -if DX_COND_pdf

>> -

>> -DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

>> -

>> -DX_PDF_GOAL = doxygen-pdf

>> -

>> -doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

>> -

>> -@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

>> -       cd @DX_DOCDIR@/latex; \

>> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>> -       $(DX_PDFLATEX) refman.tex; \

>> -       $(DX_MAKEINDEX) refman.idx; \

>> -       $(DX_PDFLATEX) refman.tex; \

>> -       countdown=5; \

>> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \

>> -                         refman.log > /dev/null 2>&1 \

>> -          && test $$countdown -gt 0; do \

>> -           $(DX_PDFLATEX) refman.tex; \

>> -           countdown=`expr $$countdown - 1`; \

>> -       done; \

>> -       mv refman.pdf ../@PACKAGE@.pdf

>> -

>> -endif DX_COND_pdf

>> -

>> -## ------------------------------------------------- ##

>> -## Rules specific for LaTeX (shared for PS and PDF). ##

>> -## ------------------------------------------------- ##

>> -

>> -if DX_COND_latex

>> -

>> -DX_CLEAN_LATEX = @DX_DOCDIR@/latex

>> -

>> -endif DX_COND_latex

>> -

>> -.PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

>> -

>> -.INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>> -

>> -doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

>> -

>> -doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>> -

>> -@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

>> -       rm -rf @DX_DOCDIR@

>> -       make --directory=$(srcdir)/doc/images

>> -       $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

>> -

>> -DX_CLEANFILES = \

>> -    @DX_DOCDIR@/@PACKAGE@.tag \

>> -    -r \

>> -    $(DX_CLEAN_HTML) \

>> -    $(DX_CLEAN_CHM) \

>> -    $(DX_CLEAN_CHI) \

>> -    $(DX_CLEAN_MAN) \

>> -    $(DX_CLEAN_RTF) \

>> -    $(DX_CLEAN_XML) \

>> -    $(DX_CLEAN_PS) \

>> -    $(DX_CLEAN_PDF) \

>> -    $(DX_CLEAN_LATEX)

>> -

>> -endif DX_COND_doc

>> diff --git a/configure.ac b/configure.ac

>> index 8108ff2..c0c2af3 100644

>> --- a/configure.ac

>> +++ b/configure.ac

>> @@ -141,8 +141,9 @@ AC_ARG_ENABLE([cunit_support],

>>  # Setup doxygen documentation

>>

>>  ##########################################################################

>>  DX_HTML_FEATURE(ON)

>> -DX_PDF_FEATURE(ON)

>> -DX_INIT_DOXYGEN($PACKAGE_NAME, doc/application-api-guide/doxygen.cfg,

>> doc/output)

>> +DX_PDF_FEATURE(OFF)

>> +DX_PS_FEATURE(OFF)

>> +DX_INIT_DOXYGEN($PACKAGE_NAME,

>> ${srcdir}/doc/application-api-guide/doxygen.cfg,

>> ${builddir}/doc/application-api-guide)

>>

>>  ##########################################################################

>>  # Enable/disable Unit tests

>>

>>  ##########################################################################

>> diff --git a/m4/ax_prog_doxygen.m4 b/m4/ax_prog_doxygen.m4

>> index 58bb016..d0858ca 100644

>> --- a/m4/ax_prog_doxygen.m4

>> +++ b/m4/ax_prog_doxygen.m4

>> @@ -4,7 +4,7 @@

>>  #

>>  # SYNOPSIS

>>  #

>> -#   DX_INIT_DOXYGEN(PROJECT-NAME, DOXYFILE-PATH, [OUTPUT-DIR])

>> +#   DX_INIT_DOXYGEN(PROJECT-NAME, [DOXYFILE-PATH], [OUTPUT-DIR], ...)

>>  #   DX_DOXYGEN_FEATURE(ON|OFF)

>>  #   DX_DOT_FEATURE(ON|OFF)

>>  #   DX_HTML_FEATURE(ON|OFF)

>> @@ -45,25 +45,28 @@

>>  #   Once all the feature defaults have been specified, call

>> DX_INIT_DOXYGEN

>>  #   with the following parameters: a one-word name for the project for

>> use

>>  #   as a filename base etc., an optional configuration file name (the

>> -#   default is 'Doxyfile', the same as Doxygen's default), and an

>> optional

>> -#   output directory name (the default is 'doxygen-doc').

>> +#   default is '$(srcdir)/Doxyfile', the same as Doxygen's default), and

>> an

>> +#   optional output directory name (the default is 'doxygen-doc'). To run

>> +#   doxygen multiple times for different configuration files and output

>> +#   directories provide more parameters: the second, forth, sixth, etc

>> +#   parameter are configuration file names and the third, fifth, seventh,

>> +#   etc parameter are output directories. No checking is done to catch

>> +#   duplicates.

>>  #

>>  #   Automake Support

>>  #

>> -#   The following is a template aminclude.am file for use with Automake.

>> -#   Make targets and variables values are controlled by the various

>> -#   DX_COND_* conditionals set by autoconf.

>> +#   The DX_RULES substitution can be used to add all needed rules to the

>> +#   Makefile. Note that this is a substitution without being a variable:

>> +#   only the @DX_RULES@ syntax will work.

>>  #

>>  #   The provided targets are:

>>  #

>>  #     doxygen-doc: Generate all doxygen documentation.

>>  #

>> -#     doxygen-html: Run doxygen, which will generate some of the

>> +#     doxygen-run: Run doxygen, which will generate some of the

>>  #                  documentation (HTML, CHM, CHI, MAN, RTF, XML)

>>  #                  but will not do the post processing required

>> -#                  for the rest of it (PS, PDF, and some MAN).

>> -#

>> -#     doxygen-man: Rename some doxygen generated man pages.

>> +#                  for the rest of it (PS, PDF).

>>  #

>>  #     doxygen-ps:  Generate doxygen PostScript documentation.

>>  #

>> @@ -84,177 +87,17 @@

>>  #

>>  #   Then add this variable to MOSTLYCLEANFILES.

>>  #

>> -#     ----- begin aminclude.am -------------------------------------

>> -#

>> -#     ## --------------------------------- ##

>> -#     ## Format-independent Doxygen rules. ##

>> -#     ## --------------------------------- ##

>> -#

>> -#     if DX_COND_doc

>> -#

>> -#     ## ------------------------------- ##

>> -#     ## Rules specific for HTML output. ##

>> -#     ## ------------------------------- ##

>> -#

>> -#     if DX_COND_html

>> -#

>> -#     DX_CLEAN_HTML = @DX_DOCDIR@/html

>> -#

>> -#     endif DX_COND_html

>> -#

>> -#     ## ------------------------------ ##

>> -#     ## Rules specific for CHM output. ##

>> -#     ## ------------------------------ ##

>> -#

>> -#     if DX_COND_chm

>> -#

>> -#     DX_CLEAN_CHM = @DX_DOCDIR@/chm

>> -#

>> -#     if DX_COND_chi

>> -#

>> -#     DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

>> -#

>> -#     endif DX_COND_chi

>> -#

>> -#     endif DX_COND_chm

>> -#

>> -#     ## ------------------------------ ##

>> -#     ## Rules specific for MAN output. ##

>> -#     ## ------------------------------ ##

>> -#

>> -#     if DX_COND_man

>> -#

>> -#     DX_CLEAN_MAN = @DX_DOCDIR@/man

>> -#

>> -#     endif DX_COND_man

>> -#

>> -#     ## ------------------------------ ##

>> -#     ## Rules specific for RTF output. ##

>> -#     ## ------------------------------ ##

>> -#

>> -#     if DX_COND_rtf

>> -#

>> -#     DX_CLEAN_RTF = @DX_DOCDIR@/rtf

>> -#

>> -#     endif DX_COND_rtf

>> -#

>> -#     ## ------------------------------ ##

>> -#     ## Rules specific for XML output. ##

>> -#     ## ------------------------------ ##

>> -#

>> -#     if DX_COND_xml

>> -#

>> -#     DX_CLEAN_XML = @DX_DOCDIR@/xml

>> -#

>> -#     endif DX_COND_xml

>> -#

>> -#     ## ----------------------------- ##

>> -#     ## Rules specific for PS output. ##

>> -#     ## ----------------------------- ##

>> -#

>> -#     if DX_COND_ps

>> -#

>> -#     DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

>> -#

>> -#     DX_PS_GOAL = doxygen-ps

>> -#

>> -#     doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

>> -#

>> -#     @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

>> -#         cd @DX_DOCDIR@/latex; \

>> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>> -#         $(DX_LATEX) refman.tex; \

>> -#         $(MAKEINDEX_PATH) refman.idx; \

>> -#         $(DX_LATEX) refman.tex; \

>> -#         countdown=5; \

>> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>> right)' \

>> -#                           refman.log > /dev/null 2>&1 \

>> -#            && test $$countdown -gt 0; do \

>> -#             $(DX_LATEX) refman.tex; \

>> -#             countdown=`expr $$countdown - 1`; \

>> -#         done; \

>> -#         $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

>> -#

>> -#     endif DX_COND_ps

>> -#

>> -#     ## ------------------------------ ##

>> -#     ## Rules specific for PDF output. ##

>> -#     ## ------------------------------ ##

>> -#

>> -#     if DX_COND_pdf

>> -#

>> -#     DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

>> -#

>> -#     DX_PDF_GOAL = doxygen-pdf

>> -#

>> -#     doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

>> -#

>> -#     @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

>> -#         cd @DX_DOCDIR@/latex; \

>> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>> -#         $(DX_PDFLATEX) refman.tex; \

>> -#         $(DX_MAKEINDEX) refman.idx; \

>> -#         $(DX_PDFLATEX) refman.tex; \

>> -#         countdown=5; \

>> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>> right)' \

>> -#                           refman.log > /dev/null 2>&1 \

>> -#            && test $$countdown -gt 0; do \

>> -#             $(DX_PDFLATEX) refman.tex; \

>> -#             countdown=`expr $$countdown - 1`; \

>> -#         done; \

>> -#         mv refman.pdf ../@PACKAGE@.pdf

>> -#

>> -#     endif DX_COND_pdf

>> -#

>> -#     ## ------------------------------------------------- ##

>> -#     ## Rules specific for LaTeX (shared for PS and PDF). ##

>> -#     ## ------------------------------------------------- ##

>> -#

>> -#     if DX_COND_latex

>> -#

>> -#     DX_CLEAN_LATEX = @DX_DOCDIR@/latex

>> -#

>> -#     endif DX_COND_latex

>> -#

>> -#     .PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

>> -#

>> -#     .INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>> -#

>> -#     doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

>> -#

>> -#     doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>> -#

>> -#     @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

>> -#         rm -rf @DX_DOCDIR@

>> -#         $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

>> -#

>> -#     DX_CLEANFILES = \

>> -#         @DX_DOCDIR@/@PACKAGE@.tag \

>> -#         -r \

>> -#         $(DX_CLEAN_HTML) \

>> -#         $(DX_CLEAN_CHM) \

>> -#         $(DX_CLEAN_CHI) \

>> -#         $(DX_CLEAN_MAN) \

>> -#         $(DX_CLEAN_RTF) \

>> -#         $(DX_CLEAN_XML) \

>> -#         $(DX_CLEAN_PS) \

>> -#         $(DX_CLEAN_PDF) \

>> -#         $(DX_CLEAN_LATEX)

>> -#

>> -#     endif DX_COND_doc

>> -#

>> -#     ----- end aminclude.am ---------------------------------------

>> -#

>>  # LICENSE

>>  #

>>  #   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

>> +#   Copyright (c) 2015 Olaf Mandel <olaf@mandel.name>

>>  #

>>  #   Copying and distribution of this file, with or without modification,

>> are

>>  #   permitted in any medium without royalty provided the copyright notice

>>  #   and this notice are preserved. This file is offered as-is, without

>> any

>>  #   warranty.

>>

>> -#serial 12

>> +#serial 18

>>

>>  ## ----------##

>>  ## Defaults. ##

>> @@ -278,8 +121,14 @@ AC_DEFUN([DX_FEATURE_ps],   ON)

>>

>>  # DX_ENV_APPEND(VARIABLE, VALUE)

>>  # ------------------------------

>> -# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.

>> -AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])

>> +# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen and add it

>> +# as a substitution (but not a Makefile variable). The substitution

>> +# is skipped if the variable name is VERSION.

>> +AC_DEFUN([DX_ENV_APPEND],

>> +[AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])dnl

>> +m4_if([$1], [VERSION], [], [AC_SUBST([$1], [$2])dnl

>> +AM_SUBST_NOTMAKE([$1])])dnl

>> +])

>>

>>  # DX_DIRNAME_EXPR

>>  # ---------------

>> @@ -364,7 +213,6 @@ if DX_TEST_FEATURE([$1]); then

>>      $5

>>      :

>>  fi

>> -AM_CONDITIONAL(DX_COND_$1, DX_TEST_FEATURE([$1]))

>>  if DX_TEST_FEATURE([$1]); then

>>      $6

>>      :

>> @@ -392,23 +240,38 @@ AC_DEFUN([DX_XML_FEATURE],

>>  [AC_DEFUN([DX_FEATURE_xml],  [$1])])

>>  AC_DEFUN([DX_PDF_FEATURE],     [AC_DEFUN([DX_FEATURE_pdf],  [$1])])

>>  AC_DEFUN([DX_PS_FEATURE],      [AC_DEFUN([DX_FEATURE_ps],   [$1])])

>>

>> -# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])

>> -# ---------------------------------------------------------

>> +# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR], ...)

>> +# --------------------------------------------------------------

>>  # PROJECT also serves as the base name for the documentation files.

>> -# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is

>> "doxygen-doc".

>> +# The default CONFIG-FILE is "$(srcdir)/Doxyfile" and OUTPUT-DOC-DIR is

>> +# "doxygen-doc".

>> +# More arguments are interpreted as interleaved CONFIG-FILE and

>> +# OUTPUT-DOC-DIR values.

>>  AC_DEFUN([DX_INIT_DOXYGEN], [

>>

>>  # Files:

>>  AC_SUBST([DX_PROJECT], [$1])

>> -AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])

>> -AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])

>> +AC_SUBST([DX_CONFIG], ['ifelse([$2], [], [$(srcdir)/Doxyfile], [$2])'])

>> +AC_SUBST([DX_DOCDIR], ['ifelse([$3], [], [doxygen-doc], [$3])'])

>> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 4, m4_count($@), 2,

>> +      [AC_SUBST([DX_CONFIG]m4_eval(DX_i[/2]),

>> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

>> +                                          [$(srcdir)/Doxyfile])')])])dnl

>> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 5, m4_count($@,), 2,

>> +      [AC_SUBST([DX_DOCDIR]m4_eval([(]DX_i[-1)/2]),

>> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

>> +                                          [doxygen-doc])')])])dnl

>> +m4_define([DX_loop], m4_dquote(m4_if(m4_eval(3 < m4_count($@)), 1,

>> +          [m4_for([DX_i], 4, m4_count($@), 2, [, m4_eval(DX_i[/2])])],

>> +          [])))dnl

>>

>>  # Environment variables used inside doxygen.cfg:

>>  DX_ENV_APPEND(SRCDIR, $srcdir)

>> -DX_ENV_APPEND(PROJECT, $DX_PROJECT)

>> -DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)

>> +DX_ENV_APPEND(BUILDDIR, $builddir)

>>  DX_ENV_APPEND(VERSION, $VERSION)

>>  DX_ENV_APPEND(WITH_PLATFORM, $with_platform)

>> +DX_ENV_APPEND(PROJECT, $DX_PROJECT)

>> +DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)

>>

>>  # Doxygen itself:

>>  DX_ARG_ABLE(doc, [generate any doxygen documentation],

>> @@ -495,7 +358,6 @@ DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],

>>               DX_REQUIRE_PROG([DX_EGREP], egrep)])

>>

>>  # LaTeX generation for PS and/or PDF:

>> -AM_CONDITIONAL(DX_COND_latex, DX_TEST_FEATURE(ps) ||

>> DX_TEST_FEATURE(pdf))

>>  if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then

>>      DX_ENV_APPEND(GENERATE_LATEX, YES)

>>  else

>> @@ -518,11 +380,226 @@ a4wide|a4|letter|legal|executive)

>>  ;;

>>  esac

>>

>> +# Rules:

>> +if test $DX_FLAG_html -eq 1; then

>> +    DX_SNIPPET_html="## ------------------------------- ##

>> +## Rules specific for HTML output. ##

>> +## ------------------------------- ##

>> +

>> +DX_CLEAN_HTML = \$(DX_DOCDIR)/html[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +                \$(DX_DOCDIR]DX_i[)/html]])

>> +

>> +"

>> +else

>> +    DX_SNIPPET_html=""

>> +fi

>> +if test $DX_FLAG_chi -eq 1; then

>> +    DX_SNIPPET_chi="

>> +DX_CLEAN_CHI = \$(DX_DOCDIR)/\$(PACKAGE).chi[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).chi]])"

>> +else

>> +    DX_SNIPPET_chi=""

>> +fi

>> +if test $DX_FLAG_chm -eq 1; then

>> +    DX_SNIPPET_chm="## ------------------------------ ##

>> +## Rules specific for CHM output. ##

>> +## ------------------------------ ##

>> +

>> +DX_CLEAN_CHM = \$(DX_DOCDIR)/chm[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +               \$(DX_DOCDIR]DX_i[)/chm]])\

>> +${DX_SNIPPET_chi}

>> +

>> +"

>> +else

>> +    DX_SNIPPET_chm=""

>> +fi

>> +if test $DX_FLAG_man -eq 1; then

>> +    DX_SNIPPET_man="## ------------------------------ ##

>> +## Rules specific for MAN output. ##

>> +## ------------------------------ ##

>> +

>> +DX_CLEAN_MAN = \$(DX_DOCDIR)/man[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +               \$(DX_DOCDIR]DX_i[)/man]])

>> +

>> +"

>> +else

>> +    DX_SNIPPET_man=""

>> +fi

>> +if test $DX_FLAG_rtf -eq 1; then

>> +    DX_SNIPPET_rtf="## ------------------------------ ##

>> +## Rules specific for RTF output. ##

>> +## ------------------------------ ##

>> +

>> +DX_CLEAN_RTF = \$(DX_DOCDIR)/rtf[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +               \$(DX_DOCDIR]DX_i[)/rtf]])

>> +

>> +"

>> +else

>> +    DX_SNIPPET_rtf=""

>> +fi

>> +if test $DX_FLAG_xml -eq 1; then

>> +    DX_SNIPPET_xml="## ------------------------------ ##

>> +## Rules specific for XML output. ##

>> +## ------------------------------ ##

>> +

>> +DX_CLEAN_XML = \$(DX_DOCDIR)/xml[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +               \$(DX_DOCDIR]DX_i[)/xml]])

>> +

>> +"

>> +else

>> +    DX_SNIPPET_xml=""

>> +fi

>> +if test $DX_FLAG_ps -eq 1; then

>> +    DX_SNIPPET_ps="## ----------------------------- ##

>> +## Rules specific for PS output. ##

>> +## ----------------------------- ##

>> +

>> +DX_CLEAN_PS = \$(DX_DOCDIR)/\$(PACKAGE).ps[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +              \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps]])

>> +

>> +DX_PS_GOAL = doxygen-ps

>> +

>> +doxygen-ps: \$(DX_CLEAN_PS)

>> +

>> +m4_foreach([DX_i], [DX_loop],

>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps: \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

>> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

>> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

>> +       \$(DX_LATEX) refman.tex; \\

>> +       \$(DX_MAKEINDEX) refman.idx; \\

>> +       \$(DX_LATEX) refman.tex; \\

>> +       countdown=5; \\

>> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

>> \\

>> +                         refman.log > /dev/null 2>&1 \\

>> +          && test \$\$countdown -gt 0; do \\

>> +           \$(DX_LATEX) refman.tex; \\

>> +            countdown=\`expr \$\$countdown - 1\`; \\

>> +       done; \\

>> +       \$(DX_DVIPS) -o ../\$(PACKAGE).ps refman.dvi

>> +

>> +]])dnl

>> +"

>> +else

>> +    DX_SNIPPET_ps=""

>> +fi

>> +if test $DX_FLAG_pdf -eq 1; then

>> +    DX_SNIPPET_pdf="## ------------------------------ ##

>> +## Rules specific for PDF output. ##

>> +## ------------------------------ ##

>> +

>> +DX_CLEAN_PDF = \$(DX_DOCDIR)/\$(PACKAGE).pdf[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf]])

>> +

>> +DX_PDF_GOAL = doxygen-pdf

>> +

>> +doxygen-pdf: \$(DX_CLEAN_PDF)

>> +

>> +m4_foreach([DX_i], [DX_loop],

>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf:

>> \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

>> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

>> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

>> +       \$(DX_PDFLATEX) refman.tex; \\

>> +       \$(DX_MAKEINDEX) refman.idx; \\

>> +       \$(DX_PDFLATEX) refman.tex; \\

>> +       countdown=5; \\

>> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

>> \\

>> +                         refman.log > /dev/null 2>&1 \\

>> +          && test \$\$countdown -gt 0; do \\

>> +           \$(DX_PDFLATEX) refman.tex; \\

>> +           countdown=\`expr \$\$countdown - 1\`; \\

>> +       done; \\

>> +       mv refman.pdf ../\$(PACKAGE).pdf

>> +

>> +]])dnl

>> +"

>> +else

>> +    DX_SNIPPET_pdf=""

>> +fi

>> +if test $DX_FLAG_ps -eq 1 -o $DX_FLAG_pdf -eq 1; then

>> +    DX_SNIPPET_latex="##

>> ------------------------------------------------- ##

>> +## Rules specific for LaTeX (shared for PS and PDF). ##

>> +## ------------------------------------------------- ##

>> +

>> +DX_V_LATEX = \$(_DX_v_LATEX_\$(V))

>> +_DX_v_LATEX_ = \$(_DX_v_LATEX_\$(AM_DEFAULT_VERBOSITY))

>> +_DX_v_LATEX_0 = @echo \"  LATEX \" \$[]][[]@;

>> +

>> +DX_CLEAN_LATEX = \$(DX_DOCDIR)/latex[]dnl

>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>> +                 \$(DX_DOCDIR]DX_i[)/latex]])

>> +

>> +"

>> +else

>> +    DX_SNIPPET_latex=""

>> +fi

>> +

>> +if test $DX_FLAG_doc -eq 1; then

>> +    DX_SNIPPET_doc="## --------------------------------- ##

>> +## Format-independent Doxygen rules. ##

>> +## --------------------------------- ##

>> +

>> +${DX_SNIPPET_html}\

>> +${DX_SNIPPET_chm}\

>> +${DX_SNIPPET_man}\

>> +${DX_SNIPPET_rtf}\

>> +${DX_SNIPPET_xml}\

>> +${DX_SNIPPET_ps}\

>> +${DX_SNIPPET_pdf}\

>> +${DX_SNIPPET_latex}\

>> +DX_V_DXGEN = \$(_DX_v_DXGEN_\$(V))

>> +_DX_v_DXGEN_ = \$(_DX_v_DXGEN_\$(AM_DEFAULT_VERBOSITY))

>> +_DX_v_DXGEN_0 = @echo \"  DXGEN \" \$<;

>> +

>> +.PHONY: doxygen-run doxygen-doc \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>> +

>> +.INTERMEDIATE: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>> +

>> +doxygen-run:[]m4_foreach([DX_i], [DX_loop],

>> +                         [[ \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag]])

>> +

>> +doxygen-doc: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>> +

>> +m4_foreach([DX_i], [DX_loop],

>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag: \$(DX_CONFIG]DX_i[)

>> \$(pkginclude_HEADERS)

>> +       \$(A""M_V_at)rm -rf \$(DX_DOCDIR]DX_i[)

>> +       \$(DX_V_DXGEN)\$(DX_ENV) DOCDIR=\$(DX_DOCDIR]DX_i[)

>> \$(DX_DOXYGEN) \$(DX_CONFIG]DX_i[)

>> +       \$(A""M_V_at)echo Timestamp >\$][@

>> +

>> +]])dnl

>> +DX_CLEANFILES = \\

>> +m4_foreach([DX_i], [DX_loop],

>> +[[     \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag \\

>> +]])dnl

>> +       -r \\

>> +       \$(DX_CLEAN_HTML) \\

>> +       \$(DX_CLEAN_CHM) \\

>> +       \$(DX_CLEAN_CHI) \\

>> +       \$(DX_CLEAN_MAN) \\

>> +       \$(DX_CLEAN_RTF) \\

>> +       \$(DX_CLEAN_XML) \\

>> +       \$(DX_CLEAN_PS) \\

>> +       \$(DX_CLEAN_PDF) \\

>> +       \$(DX_CLEAN_LATEX)"

>> +else

>> +    DX_SNIPPET_doc=""

>> +fi

>> +AC_SUBST([DX_RULES],

>> +["${DX_SNIPPET_doc}"])dnl

>> +AM_SUBST_NOTMAKE([DX_RULES])

>> +

>>  #For debugging:

>> -#echo DX_FLAG_doc=$DX_FLAG_doc

>> +echo DX_FLAG_doc=$DX_FLAG_doc

>>  #echo DX_FLAG_dot=$DX_FLAG_dot

>>  #echo DX_FLAG_man=$DX_FLAG_man

>> -#echo DX_FLAG_html=$DX_FLAG_html

>> +echo DX_FLAG_html=$DX_FLAG_html

>>  #echo DX_FLAG_chm=$DX_FLAG_chm

>>  #echo DX_FLAG_chi=$DX_FLAG_chi

>>  #echo DX_FLAG_rtf=$DX_FLAG_rtf

>> @@ -530,4 +607,4 @@ esac

>>  #echo DX_FLAG_pdf=$DX_FLAG_pdf

>>  #echo DX_FLAG_ps=$DX_FLAG_ps

>>  #echo DX_ENV=$DX_ENV

>> -])

>> +])

>> \ No newline at end of file

>> --

>> 2.5.0

>>

>> _______________________________________________

>> lng-odp mailing list

>> lng-odp@lists.linaro.org

>> https://lists.linaro.org/mailman/listinfo/lng-odp

>>

>

>



-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collborative, the rest follows"
Bill Fischofer Feb. 15, 2016, 2:02 p.m. UTC | #3
Yes, I'm vanilla Ubuntu 15.10

On Mon, Feb 15, 2016 at 7:12 AM, Mike Holmes <mike.holmes@linaro.org> wrote:

> Thanks,  let me see if I can get this  same result, I did that same

> procedure so many times - assume you are on 15.10 basic ubuntu box ?

>

> On 14 February 2016 at 15:49, Bill Fischofer <bill.fischofer@linaro.org>

> wrote:

>

>> Applying this series to a fresh clone if I do:

>>

>> ./bootstrap

>> ./configure --enable-cunit-support --enable-user-guides

>> make doxygen-doc

>>

>> I get this:

>>

>> bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc

>>   DXGEN  doc/application-api-guide/doxygen.cfg

>> error: configuration file ./doc/application-api-guide/doxygen.cfg not

>> found!

>> Doxygen version 1.8.9.1

>> Copyright Dimitri van Heesch 1997-2014

>>

>> You can use doxygen in a number of ways:

>>

>> 1) Use doxygen to generate a template configuration file:

>>     /usr/bin/doxygen [-s] -g [configName]

>>

>>     If - is used for configName doxygen will write to standard output.

>>

>> 2) Use doxygen to update an old configuration file:

>>     /usr/bin/doxygen [-s] -u [configName]

>>

>> 3) Use doxygen to generate documentation using an existing configuration

>> file:

>>     /usr/bin/doxygen [configName]

>>

>>     If - is used for configName doxygen will read from standard input.

>>

>> 4) Use doxygen to generate a template file controlling the layout of the

>>    generated documentation:

>>     /usr/bin/doxygen -l [layoutFileName.xml]

>>

>> 5) Use doxygen to generate a template style sheet file for RTF, HTML or

>> Latex.

>>     RTF:        /usr/bin/doxygen -w rtf styleSheetFile

>>     HTML:       /usr/bin/doxygen -w html headerFile footerFile

>> styleSheetFile [configFile]

>>     LaTeX:      /usr/bin/doxygen -w latex headerFile footerFile

>> styleSheetFile [configFile]

>>

>> 6) Use doxygen to generate a rtf extensions file

>>     RTF:   /usr/bin/doxygen -e rtf extensionsFile

>>

>> If -s is specified the comments of the configuration items in the config

>> file will be omitted.

>> If configName is omitted `Doxyfile' will be used as a default.

>>

>> -v print version string

>> Makefile:893: recipe for target

>> 'doc/application-api-guide/opendataplane.tag' failed

>> make: *** [doc/application-api-guide/opendataplane.tag] Error 1

>>

>> ---

>> If I do a make (which seems to generate the user guides correctly) and

>> then do a make doxygen-doc I get this:

>>

>> bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc

>> make: *** No rule to make target 'doc/application-api-guide/doxygen.cfg',

>> needed by 'doc/application-api-guide/opendataplane.tag'.  Stop.

>>

>>

>>

>>

>> On Sat, Feb 13, 2016 at 9:42 PM, Mike Holmes <mike.holmes@linaro.org>

>> wrote:

>>

>>> fixes https://bugs.linaro.org/show_bug.cgi?id=1946

>>>

>>> Move to the latest m4 scripts for doxygen and revert to using it without

>>> modification, thus make doxygen-html becomes make doxygen-doc.

>>> Also cleans up the last parts of the previously removed .pdf support.

>>> Output now left in application-api-guide to match the other guides.

>>>

>>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

>>> ---

>>>  Makefile.am           |   2 +-

>>>  README                |   2 +-

>>>  aminclude.am          | 167 -------------------

>>>  configure.ac          |   5 +-

>>>  m4/ax_prog_doxygen.m4 | 449

>>> +++++++++++++++++++++++++++++---------------------

>>>  5 files changed, 268 insertions(+), 357 deletions(-)

>>>  delete mode 100644 aminclude.am

>>>

>>> diff --git a/Makefile.am b/Makefile.am

>>> index 2acbe3d..2129472 100644

>>> --- a/Makefile.am

>>> +++ b/Makefile.am

>>> @@ -15,6 +15,6 @@ SUBDIRS = @platform_with_platform@ \

>>>           example \

>>>           scripts

>>>

>>> -include $(top_srcdir)/aminclude.am

>>> +@DX_RULES@

>>>

>>>  EXTRA_DIST = bootstrap $(DX_CONFIG) CHANGELOG config/README .scmversion

>>> diff --git a/README b/README

>>> index d8583be..4350b95 100644

>>> --- a/README

>>> +++ b/README

>>> @@ -17,7 +17,7 @@ Main git repository:

>>>      In general you can build:

>>>      ./bootstrap

>>>      ./configure

>>> -    Use 'make' to build ODP library and samples and 'make doxygen-html'

>>> to build

>>> +    Use 'make' to build ODP library and samples and 'make doxygen-doc'

>>> to build

>>>      ODP API documentation. 'make install' will copy all required

>>> headers and

>>>      binary files to the install directory.

>>>

>>> diff --git a/aminclude.am b/aminclude.am

>>> deleted file mode 100644

>>> index 1b0ec01..0000000

>>> --- a/aminclude.am

>>> +++ /dev/null

>>> @@ -1,167 +0,0 @@

>>> -# LICENSE

>>> -#

>>> -#   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

>>> -#

>>> -#   Copying and distribution of this file, with or without

>>> modification, are

>>> -#   permitted in any medium without royalty provided the copyright

>>> notice

>>> -#   and this notice are preserved. This file is offered as-is, without

>>> any

>>> -#   warranty.

>>> -#

>>> -

>>> -## --------------------------------- ##

>>> -## Format-independent Doxygen rules. ##

>>> -## --------------------------------- ##

>>> -

>>> -if DX_COND_doc

>>> -

>>> -## ------------------------------- ##

>>> -## Rules specific for HTML output. ##

>>> -## ------------------------------- ##

>>> -

>>> -if DX_COND_html

>>> -

>>> -DX_CLEAN_HTML = @DX_DOCDIR@/html

>>> -

>>> -endif DX_COND_html

>>> -

>>> -## ------------------------------ ##

>>> -## Rules specific for CHM output. ##

>>> -## ------------------------------ ##

>>> -

>>> -if DX_COND_chm

>>> -

>>> -DX_CLEAN_CHM = @DX_DOCDIR@/chm

>>> -

>>> -if DX_COND_chi

>>> -

>>> -DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

>>> -

>>> -endif DX_COND_chi

>>> -

>>> -endif DX_COND_chm

>>> -

>>> -## ------------------------------ ##

>>> -## Rules specific for MAN output. ##

>>> -## ------------------------------ ##

>>> -

>>> -if DX_COND_man

>>> -

>>> -DX_CLEAN_MAN = @DX_DOCDIR@/man

>>> -

>>> -endif DX_COND_man

>>> -

>>> -## ------------------------------ ##

>>> -## Rules specific for RTF output. ##

>>> -## ------------------------------ ##

>>> -

>>> -if DX_COND_rtf

>>> -

>>> -DX_CLEAN_RTF = @DX_DOCDIR@/rtf

>>> -

>>> -endif DX_COND_rtf

>>> -

>>> -## ------------------------------ ##

>>> -## Rules specific for XML output. ##

>>> -## ------------------------------ ##

>>> -

>>> -if DX_COND_xml

>>> -

>>> -DX_CLEAN_XML = @DX_DOCDIR@/xml

>>> -

>>> -endif DX_COND_xml

>>> -

>>> -## ----------------------------- ##

>>> -## Rules specific for PS output. ##

>>> -## ----------------------------- ##

>>> -

>>> -if DX_COND_ps

>>> -

>>> -DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

>>> -

>>> -DX_PS_GOAL = doxygen-ps

>>> -

>>> -doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

>>> -

>>> -@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

>>> -       cd @DX_DOCDIR@/latex; \

>>> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>> -       $(DX_LATEX) refman.tex; \

>>> -       $(MAKEINDEX_PATH) refman.idx; \

>>> -       $(DX_LATEX) refman.tex; \

>>> -       countdown=5; \

>>> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \

>>> -                         refman.log > /dev/null 2>&1 \

>>> -          && test $$countdown -gt 0; do \

>>> -           $(DX_LATEX) refman.tex; \

>>> -           countdown=`expr $$countdown - 1`; \

>>> -       done; \

>>> -       $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

>>> -

>>> -endif DX_COND_ps

>>> -

>>> -## ------------------------------ ##

>>> -## Rules specific for PDF output. ##

>>> -## ------------------------------ ##

>>> -

>>> -if DX_COND_pdf

>>> -

>>> -DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

>>> -

>>> -DX_PDF_GOAL = doxygen-pdf

>>> -

>>> -doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

>>> -

>>> -@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

>>> -       cd @DX_DOCDIR@/latex; \

>>> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>> -       $(DX_PDFLATEX) refman.tex; \

>>> -       $(DX_MAKEINDEX) refman.idx; \

>>> -       $(DX_PDFLATEX) refman.tex; \

>>> -       countdown=5; \

>>> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \

>>> -                         refman.log > /dev/null 2>&1 \

>>> -          && test $$countdown -gt 0; do \

>>> -           $(DX_PDFLATEX) refman.tex; \

>>> -           countdown=`expr $$countdown - 1`; \

>>> -       done; \

>>> -       mv refman.pdf ../@PACKAGE@.pdf

>>> -

>>> -endif DX_COND_pdf

>>> -

>>> -## ------------------------------------------------- ##

>>> -## Rules specific for LaTeX (shared for PS and PDF). ##

>>> -## ------------------------------------------------- ##

>>> -

>>> -if DX_COND_latex

>>> -

>>> -DX_CLEAN_LATEX = @DX_DOCDIR@/latex

>>> -

>>> -endif DX_COND_latex

>>> -

>>> -.PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>> -

>>> -.INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>> -

>>> -doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

>>> -

>>> -doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>> -

>>> -@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

>>> -       rm -rf @DX_DOCDIR@

>>> -       make --directory=$(srcdir)/doc/images

>>> -       $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

>>> -

>>> -DX_CLEANFILES = \

>>> -    @DX_DOCDIR@/@PACKAGE@.tag \

>>> -    -r \

>>> -    $(DX_CLEAN_HTML) \

>>> -    $(DX_CLEAN_CHM) \

>>> -    $(DX_CLEAN_CHI) \

>>> -    $(DX_CLEAN_MAN) \

>>> -    $(DX_CLEAN_RTF) \

>>> -    $(DX_CLEAN_XML) \

>>> -    $(DX_CLEAN_PS) \

>>> -    $(DX_CLEAN_PDF) \

>>> -    $(DX_CLEAN_LATEX)

>>> -

>>> -endif DX_COND_doc

>>> diff --git a/configure.ac b/configure.ac

>>> index 8108ff2..c0c2af3 100644

>>> --- a/configure.ac

>>> +++ b/configure.ac

>>> @@ -141,8 +141,9 @@ AC_ARG_ENABLE([cunit_support],

>>>  # Setup doxygen documentation

>>>

>>>  ##########################################################################

>>>  DX_HTML_FEATURE(ON)

>>> -DX_PDF_FEATURE(ON)

>>> -DX_INIT_DOXYGEN($PACKAGE_NAME, doc/application-api-guide/doxygen.cfg,

>>> doc/output)

>>> +DX_PDF_FEATURE(OFF)

>>> +DX_PS_FEATURE(OFF)

>>> +DX_INIT_DOXYGEN($PACKAGE_NAME,

>>> ${srcdir}/doc/application-api-guide/doxygen.cfg,

>>> ${builddir}/doc/application-api-guide)

>>>

>>>  ##########################################################################

>>>  # Enable/disable Unit tests

>>>

>>>  ##########################################################################

>>> diff --git a/m4/ax_prog_doxygen.m4 b/m4/ax_prog_doxygen.m4

>>> index 58bb016..d0858ca 100644

>>> --- a/m4/ax_prog_doxygen.m4

>>> +++ b/m4/ax_prog_doxygen.m4

>>> @@ -4,7 +4,7 @@

>>>  #

>>>  # SYNOPSIS

>>>  #

>>> -#   DX_INIT_DOXYGEN(PROJECT-NAME, DOXYFILE-PATH, [OUTPUT-DIR])

>>> +#   DX_INIT_DOXYGEN(PROJECT-NAME, [DOXYFILE-PATH], [OUTPUT-DIR], ...)

>>>  #   DX_DOXYGEN_FEATURE(ON|OFF)

>>>  #   DX_DOT_FEATURE(ON|OFF)

>>>  #   DX_HTML_FEATURE(ON|OFF)

>>> @@ -45,25 +45,28 @@

>>>  #   Once all the feature defaults have been specified, call

>>> DX_INIT_DOXYGEN

>>>  #   with the following parameters: a one-word name for the project for

>>> use

>>>  #   as a filename base etc., an optional configuration file name (the

>>> -#   default is 'Doxyfile', the same as Doxygen's default), and an

>>> optional

>>> -#   output directory name (the default is 'doxygen-doc').

>>> +#   default is '$(srcdir)/Doxyfile', the same as Doxygen's default),

>>> and an

>>> +#   optional output directory name (the default is 'doxygen-doc'). To

>>> run

>>> +#   doxygen multiple times for different configuration files and output

>>> +#   directories provide more parameters: the second, forth, sixth, etc

>>> +#   parameter are configuration file names and the third, fifth,

>>> seventh,

>>> +#   etc parameter are output directories. No checking is done to catch

>>> +#   duplicates.

>>>  #

>>>  #   Automake Support

>>>  #

>>> -#   The following is a template aminclude.am file for use with

>>> Automake.

>>> -#   Make targets and variables values are controlled by the various

>>> -#   DX_COND_* conditionals set by autoconf.

>>> +#   The DX_RULES substitution can be used to add all needed rules to the

>>> +#   Makefile. Note that this is a substitution without being a variable:

>>> +#   only the @DX_RULES@ syntax will work.

>>>  #

>>>  #   The provided targets are:

>>>  #

>>>  #     doxygen-doc: Generate all doxygen documentation.

>>>  #

>>> -#     doxygen-html: Run doxygen, which will generate some of the

>>> +#     doxygen-run: Run doxygen, which will generate some of the

>>>  #                  documentation (HTML, CHM, CHI, MAN, RTF, XML)

>>>  #                  but will not do the post processing required

>>> -#                  for the rest of it (PS, PDF, and some MAN).

>>> -#

>>> -#     doxygen-man: Rename some doxygen generated man pages.

>>> +#                  for the rest of it (PS, PDF).

>>>  #

>>>  #     doxygen-ps:  Generate doxygen PostScript documentation.

>>>  #

>>> @@ -84,177 +87,17 @@

>>>  #

>>>  #   Then add this variable to MOSTLYCLEANFILES.

>>>  #

>>> -#     ----- begin aminclude.am -------------------------------------

>>> -#

>>> -#     ## --------------------------------- ##

>>> -#     ## Format-independent Doxygen rules. ##

>>> -#     ## --------------------------------- ##

>>> -#

>>> -#     if DX_COND_doc

>>> -#

>>> -#     ## ------------------------------- ##

>>> -#     ## Rules specific for HTML output. ##

>>> -#     ## ------------------------------- ##

>>> -#

>>> -#     if DX_COND_html

>>> -#

>>> -#     DX_CLEAN_HTML = @DX_DOCDIR@/html

>>> -#

>>> -#     endif DX_COND_html

>>> -#

>>> -#     ## ------------------------------ ##

>>> -#     ## Rules specific for CHM output. ##

>>> -#     ## ------------------------------ ##

>>> -#

>>> -#     if DX_COND_chm

>>> -#

>>> -#     DX_CLEAN_CHM = @DX_DOCDIR@/chm

>>> -#

>>> -#     if DX_COND_chi

>>> -#

>>> -#     DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

>>> -#

>>> -#     endif DX_COND_chi

>>> -#

>>> -#     endif DX_COND_chm

>>> -#

>>> -#     ## ------------------------------ ##

>>> -#     ## Rules specific for MAN output. ##

>>> -#     ## ------------------------------ ##

>>> -#

>>> -#     if DX_COND_man

>>> -#

>>> -#     DX_CLEAN_MAN = @DX_DOCDIR@/man

>>> -#

>>> -#     endif DX_COND_man

>>> -#

>>> -#     ## ------------------------------ ##

>>> -#     ## Rules specific for RTF output. ##

>>> -#     ## ------------------------------ ##

>>> -#

>>> -#     if DX_COND_rtf

>>> -#

>>> -#     DX_CLEAN_RTF = @DX_DOCDIR@/rtf

>>> -#

>>> -#     endif DX_COND_rtf

>>> -#

>>> -#     ## ------------------------------ ##

>>> -#     ## Rules specific for XML output. ##

>>> -#     ## ------------------------------ ##

>>> -#

>>> -#     if DX_COND_xml

>>> -#

>>> -#     DX_CLEAN_XML = @DX_DOCDIR@/xml

>>> -#

>>> -#     endif DX_COND_xml

>>> -#

>>> -#     ## ----------------------------- ##

>>> -#     ## Rules specific for PS output. ##

>>> -#     ## ----------------------------- ##

>>> -#

>>> -#     if DX_COND_ps

>>> -#

>>> -#     DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

>>> -#

>>> -#     DX_PS_GOAL = doxygen-ps

>>> -#

>>> -#     doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

>>> -#

>>> -#     @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

>>> -#         cd @DX_DOCDIR@/latex; \

>>> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>> -#         $(DX_LATEX) refman.tex; \

>>> -#         $(MAKEINDEX_PATH) refman.idx; \

>>> -#         $(DX_LATEX) refman.tex; \

>>> -#         countdown=5; \

>>> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>>> right)' \

>>> -#                           refman.log > /dev/null 2>&1 \

>>> -#            && test $$countdown -gt 0; do \

>>> -#             $(DX_LATEX) refman.tex; \

>>> -#             countdown=`expr $$countdown - 1`; \

>>> -#         done; \

>>> -#         $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

>>> -#

>>> -#     endif DX_COND_ps

>>> -#

>>> -#     ## ------------------------------ ##

>>> -#     ## Rules specific for PDF output. ##

>>> -#     ## ------------------------------ ##

>>> -#

>>> -#     if DX_COND_pdf

>>> -#

>>> -#     DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

>>> -#

>>> -#     DX_PDF_GOAL = doxygen-pdf

>>> -#

>>> -#     doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

>>> -#

>>> -#     @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

>>> -#         cd @DX_DOCDIR@/latex; \

>>> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>> -#         $(DX_PDFLATEX) refman.tex; \

>>> -#         $(DX_MAKEINDEX) refman.idx; \

>>> -#         $(DX_PDFLATEX) refman.tex; \

>>> -#         countdown=5; \

>>> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>>> right)' \

>>> -#                           refman.log > /dev/null 2>&1 \

>>> -#            && test $$countdown -gt 0; do \

>>> -#             $(DX_PDFLATEX) refman.tex; \

>>> -#             countdown=`expr $$countdown - 1`; \

>>> -#         done; \

>>> -#         mv refman.pdf ../@PACKAGE@.pdf

>>> -#

>>> -#     endif DX_COND_pdf

>>> -#

>>> -#     ## ------------------------------------------------- ##

>>> -#     ## Rules specific for LaTeX (shared for PS and PDF). ##

>>> -#     ## ------------------------------------------------- ##

>>> -#

>>> -#     if DX_COND_latex

>>> -#

>>> -#     DX_CLEAN_LATEX = @DX_DOCDIR@/latex

>>> -#

>>> -#     endif DX_COND_latex

>>> -#

>>> -#     .PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>> -#

>>> -#     .INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>> -#

>>> -#     doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

>>> -#

>>> -#     doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>> -#

>>> -#     @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

>>> -#         rm -rf @DX_DOCDIR@

>>> -#         $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

>>> -#

>>> -#     DX_CLEANFILES = \

>>> -#         @DX_DOCDIR@/@PACKAGE@.tag \

>>> -#         -r \

>>> -#         $(DX_CLEAN_HTML) \

>>> -#         $(DX_CLEAN_CHM) \

>>> -#         $(DX_CLEAN_CHI) \

>>> -#         $(DX_CLEAN_MAN) \

>>> -#         $(DX_CLEAN_RTF) \

>>> -#         $(DX_CLEAN_XML) \

>>> -#         $(DX_CLEAN_PS) \

>>> -#         $(DX_CLEAN_PDF) \

>>> -#         $(DX_CLEAN_LATEX)

>>> -#

>>> -#     endif DX_COND_doc

>>> -#

>>> -#     ----- end aminclude.am ---------------------------------------

>>> -#

>>>  # LICENSE

>>>  #

>>>  #   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

>>> +#   Copyright (c) 2015 Olaf Mandel <olaf@mandel.name>

>>>  #

>>>  #   Copying and distribution of this file, with or without

>>> modification, are

>>>  #   permitted in any medium without royalty provided the copyright

>>> notice

>>>  #   and this notice are preserved. This file is offered as-is, without

>>> any

>>>  #   warranty.

>>>

>>> -#serial 12

>>> +#serial 18

>>>

>>>  ## ----------##

>>>  ## Defaults. ##

>>> @@ -278,8 +121,14 @@ AC_DEFUN([DX_FEATURE_ps],   ON)

>>>

>>>  # DX_ENV_APPEND(VARIABLE, VALUE)

>>>  # ------------------------------

>>> -# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.

>>> -AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])

>>> +# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen and add it

>>> +# as a substitution (but not a Makefile variable). The substitution

>>> +# is skipped if the variable name is VERSION.

>>> +AC_DEFUN([DX_ENV_APPEND],

>>> +[AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])dnl

>>> +m4_if([$1], [VERSION], [], [AC_SUBST([$1], [$2])dnl

>>> +AM_SUBST_NOTMAKE([$1])])dnl

>>> +])

>>>

>>>  # DX_DIRNAME_EXPR

>>>  # ---------------

>>> @@ -364,7 +213,6 @@ if DX_TEST_FEATURE([$1]); then

>>>      $5

>>>      :

>>>  fi

>>> -AM_CONDITIONAL(DX_COND_$1, DX_TEST_FEATURE([$1]))

>>>  if DX_TEST_FEATURE([$1]); then

>>>      $6

>>>      :

>>> @@ -392,23 +240,38 @@ AC_DEFUN([DX_XML_FEATURE],

>>>  [AC_DEFUN([DX_FEATURE_xml],  [$1])])

>>>  AC_DEFUN([DX_PDF_FEATURE],     [AC_DEFUN([DX_FEATURE_pdf],  [$1])])

>>>  AC_DEFUN([DX_PS_FEATURE],      [AC_DEFUN([DX_FEATURE_ps],   [$1])])

>>>

>>> -# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])

>>> -# ---------------------------------------------------------

>>> +# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR], ...)

>>> +# --------------------------------------------------------------

>>>  # PROJECT also serves as the base name for the documentation files.

>>> -# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is

>>> "doxygen-doc".

>>> +# The default CONFIG-FILE is "$(srcdir)/Doxyfile" and OUTPUT-DOC-DIR is

>>> +# "doxygen-doc".

>>> +# More arguments are interpreted as interleaved CONFIG-FILE and

>>> +# OUTPUT-DOC-DIR values.

>>>  AC_DEFUN([DX_INIT_DOXYGEN], [

>>>

>>>  # Files:

>>>  AC_SUBST([DX_PROJECT], [$1])

>>> -AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])

>>> -AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])

>>> +AC_SUBST([DX_CONFIG], ['ifelse([$2], [], [$(srcdir)/Doxyfile], [$2])'])

>>> +AC_SUBST([DX_DOCDIR], ['ifelse([$3], [], [doxygen-doc], [$3])'])

>>> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 4, m4_count($@), 2,

>>> +      [AC_SUBST([DX_CONFIG]m4_eval(DX_i[/2]),

>>> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

>>> +                                          [$(srcdir)/Doxyfile])')])])dnl

>>> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 5, m4_count($@,), 2,

>>> +      [AC_SUBST([DX_DOCDIR]m4_eval([(]DX_i[-1)/2]),

>>> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

>>> +                                          [doxygen-doc])')])])dnl

>>> +m4_define([DX_loop], m4_dquote(m4_if(m4_eval(3 < m4_count($@)), 1,

>>> +          [m4_for([DX_i], 4, m4_count($@), 2, [, m4_eval(DX_i[/2])])],

>>> +          [])))dnl

>>>

>>>  # Environment variables used inside doxygen.cfg:

>>>  DX_ENV_APPEND(SRCDIR, $srcdir)

>>> -DX_ENV_APPEND(PROJECT, $DX_PROJECT)

>>> -DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)

>>> +DX_ENV_APPEND(BUILDDIR, $builddir)

>>>  DX_ENV_APPEND(VERSION, $VERSION)

>>>  DX_ENV_APPEND(WITH_PLATFORM, $with_platform)

>>> +DX_ENV_APPEND(PROJECT, $DX_PROJECT)

>>> +DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)

>>>

>>>  # Doxygen itself:

>>>  DX_ARG_ABLE(doc, [generate any doxygen documentation],

>>> @@ -495,7 +358,6 @@ DX_ARG_ABLE(pdf, [generate doxygen PDF

>>> documentation],

>>>               DX_REQUIRE_PROG([DX_EGREP], egrep)])

>>>

>>>  # LaTeX generation for PS and/or PDF:

>>> -AM_CONDITIONAL(DX_COND_latex, DX_TEST_FEATURE(ps) ||

>>> DX_TEST_FEATURE(pdf))

>>>  if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then

>>>      DX_ENV_APPEND(GENERATE_LATEX, YES)

>>>  else

>>> @@ -518,11 +380,226 @@ a4wide|a4|letter|legal|executive)

>>>  ;;

>>>  esac

>>>

>>> +# Rules:

>>> +if test $DX_FLAG_html -eq 1; then

>>> +    DX_SNIPPET_html="## ------------------------------- ##

>>> +## Rules specific for HTML output. ##

>>> +## ------------------------------- ##

>>> +

>>> +DX_CLEAN_HTML = \$(DX_DOCDIR)/html[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +                \$(DX_DOCDIR]DX_i[)/html]])

>>> +

>>> +"

>>> +else

>>> +    DX_SNIPPET_html=""

>>> +fi

>>> +if test $DX_FLAG_chi -eq 1; then

>>> +    DX_SNIPPET_chi="

>>> +DX_CLEAN_CHI = \$(DX_DOCDIR)/\$(PACKAGE).chi[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).chi]])"

>>> +else

>>> +    DX_SNIPPET_chi=""

>>> +fi

>>> +if test $DX_FLAG_chm -eq 1; then

>>> +    DX_SNIPPET_chm="## ------------------------------ ##

>>> +## Rules specific for CHM output. ##

>>> +## ------------------------------ ##

>>> +

>>> +DX_CLEAN_CHM = \$(DX_DOCDIR)/chm[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +               \$(DX_DOCDIR]DX_i[)/chm]])\

>>> +${DX_SNIPPET_chi}

>>> +

>>> +"

>>> +else

>>> +    DX_SNIPPET_chm=""

>>> +fi

>>> +if test $DX_FLAG_man -eq 1; then

>>> +    DX_SNIPPET_man="## ------------------------------ ##

>>> +## Rules specific for MAN output. ##

>>> +## ------------------------------ ##

>>> +

>>> +DX_CLEAN_MAN = \$(DX_DOCDIR)/man[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +               \$(DX_DOCDIR]DX_i[)/man]])

>>> +

>>> +"

>>> +else

>>> +    DX_SNIPPET_man=""

>>> +fi

>>> +if test $DX_FLAG_rtf -eq 1; then

>>> +    DX_SNIPPET_rtf="## ------------------------------ ##

>>> +## Rules specific for RTF output. ##

>>> +## ------------------------------ ##

>>> +

>>> +DX_CLEAN_RTF = \$(DX_DOCDIR)/rtf[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +               \$(DX_DOCDIR]DX_i[)/rtf]])

>>> +

>>> +"

>>> +else

>>> +    DX_SNIPPET_rtf=""

>>> +fi

>>> +if test $DX_FLAG_xml -eq 1; then

>>> +    DX_SNIPPET_xml="## ------------------------------ ##

>>> +## Rules specific for XML output. ##

>>> +## ------------------------------ ##

>>> +

>>> +DX_CLEAN_XML = \$(DX_DOCDIR)/xml[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +               \$(DX_DOCDIR]DX_i[)/xml]])

>>> +

>>> +"

>>> +else

>>> +    DX_SNIPPET_xml=""

>>> +fi

>>> +if test $DX_FLAG_ps -eq 1; then

>>> +    DX_SNIPPET_ps="## ----------------------------- ##

>>> +## Rules specific for PS output. ##

>>> +## ----------------------------- ##

>>> +

>>> +DX_CLEAN_PS = \$(DX_DOCDIR)/\$(PACKAGE).ps[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +              \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps]])

>>> +

>>> +DX_PS_GOAL = doxygen-ps

>>> +

>>> +doxygen-ps: \$(DX_CLEAN_PS)

>>> +

>>> +m4_foreach([DX_i], [DX_loop],

>>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps:

>>> \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

>>> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

>>> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

>>> +       \$(DX_LATEX) refman.tex; \\

>>> +       \$(DX_MAKEINDEX) refman.idx; \\

>>> +       \$(DX_LATEX) refman.tex; \\

>>> +       countdown=5; \\

>>> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

>>> \\

>>> +                         refman.log > /dev/null 2>&1 \\

>>> +          && test \$\$countdown -gt 0; do \\

>>> +           \$(DX_LATEX) refman.tex; \\

>>> +            countdown=\`expr \$\$countdown - 1\`; \\

>>> +       done; \\

>>> +       \$(DX_DVIPS) -o ../\$(PACKAGE).ps refman.dvi

>>> +

>>> +]])dnl

>>> +"

>>> +else

>>> +    DX_SNIPPET_ps=""

>>> +fi

>>> +if test $DX_FLAG_pdf -eq 1; then

>>> +    DX_SNIPPET_pdf="## ------------------------------ ##

>>> +## Rules specific for PDF output. ##

>>> +## ------------------------------ ##

>>> +

>>> +DX_CLEAN_PDF = \$(DX_DOCDIR)/\$(PACKAGE).pdf[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf]])

>>> +

>>> +DX_PDF_GOAL = doxygen-pdf

>>> +

>>> +doxygen-pdf: \$(DX_CLEAN_PDF)

>>> +

>>> +m4_foreach([DX_i], [DX_loop],

>>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf:

>>> \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

>>> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

>>> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

>>> +       \$(DX_PDFLATEX) refman.tex; \\

>>> +       \$(DX_MAKEINDEX) refman.idx; \\

>>> +       \$(DX_PDFLATEX) refman.tex; \\

>>> +       countdown=5; \\

>>> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

>>> \\

>>> +                         refman.log > /dev/null 2>&1 \\

>>> +          && test \$\$countdown -gt 0; do \\

>>> +           \$(DX_PDFLATEX) refman.tex; \\

>>> +           countdown=\`expr \$\$countdown - 1\`; \\

>>> +       done; \\

>>> +       mv refman.pdf ../\$(PACKAGE).pdf

>>> +

>>> +]])dnl

>>> +"

>>> +else

>>> +    DX_SNIPPET_pdf=""

>>> +fi

>>> +if test $DX_FLAG_ps -eq 1 -o $DX_FLAG_pdf -eq 1; then

>>> +    DX_SNIPPET_latex="##

>>> ------------------------------------------------- ##

>>> +## Rules specific for LaTeX (shared for PS and PDF). ##

>>> +## ------------------------------------------------- ##

>>> +

>>> +DX_V_LATEX = \$(_DX_v_LATEX_\$(V))

>>> +_DX_v_LATEX_ = \$(_DX_v_LATEX_\$(AM_DEFAULT_VERBOSITY))

>>> +_DX_v_LATEX_0 = @echo \"  LATEX \" \$[]][[]@;

>>> +

>>> +DX_CLEAN_LATEX = \$(DX_DOCDIR)/latex[]dnl

>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>> +                 \$(DX_DOCDIR]DX_i[)/latex]])

>>> +

>>> +"

>>> +else

>>> +    DX_SNIPPET_latex=""

>>> +fi

>>> +

>>> +if test $DX_FLAG_doc -eq 1; then

>>> +    DX_SNIPPET_doc="## --------------------------------- ##

>>> +## Format-independent Doxygen rules. ##

>>> +## --------------------------------- ##

>>> +

>>> +${DX_SNIPPET_html}\

>>> +${DX_SNIPPET_chm}\

>>> +${DX_SNIPPET_man}\

>>> +${DX_SNIPPET_rtf}\

>>> +${DX_SNIPPET_xml}\

>>> +${DX_SNIPPET_ps}\

>>> +${DX_SNIPPET_pdf}\

>>> +${DX_SNIPPET_latex}\

>>> +DX_V_DXGEN = \$(_DX_v_DXGEN_\$(V))

>>> +_DX_v_DXGEN_ = \$(_DX_v_DXGEN_\$(AM_DEFAULT_VERBOSITY))

>>> +_DX_v_DXGEN_0 = @echo \"  DXGEN \" \$<;

>>> +

>>> +.PHONY: doxygen-run doxygen-doc \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>>> +

>>> +.INTERMEDIATE: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>>> +

>>> +doxygen-run:[]m4_foreach([DX_i], [DX_loop],

>>> +                         [[ \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag]])

>>> +

>>> +doxygen-doc: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>>> +

>>> +m4_foreach([DX_i], [DX_loop],

>>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag: \$(DX_CONFIG]DX_i[)

>>> \$(pkginclude_HEADERS)

>>> +       \$(A""M_V_at)rm -rf \$(DX_DOCDIR]DX_i[)

>>> +       \$(DX_V_DXGEN)\$(DX_ENV) DOCDIR=\$(DX_DOCDIR]DX_i[)

>>> \$(DX_DOXYGEN) \$(DX_CONFIG]DX_i[)

>>> +       \$(A""M_V_at)echo Timestamp >\$][@

>>> +

>>> +]])dnl

>>> +DX_CLEANFILES = \\

>>> +m4_foreach([DX_i], [DX_loop],

>>> +[[     \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag \\

>>> +]])dnl

>>> +       -r \\

>>> +       \$(DX_CLEAN_HTML) \\

>>> +       \$(DX_CLEAN_CHM) \\

>>> +       \$(DX_CLEAN_CHI) \\

>>> +       \$(DX_CLEAN_MAN) \\

>>> +       \$(DX_CLEAN_RTF) \\

>>> +       \$(DX_CLEAN_XML) \\

>>> +       \$(DX_CLEAN_PS) \\

>>> +       \$(DX_CLEAN_PDF) \\

>>> +       \$(DX_CLEAN_LATEX)"

>>> +else

>>> +    DX_SNIPPET_doc=""

>>> +fi

>>> +AC_SUBST([DX_RULES],

>>> +["${DX_SNIPPET_doc}"])dnl

>>> +AM_SUBST_NOTMAKE([DX_RULES])

>>> +

>>>  #For debugging:

>>> -#echo DX_FLAG_doc=$DX_FLAG_doc

>>> +echo DX_FLAG_doc=$DX_FLAG_doc

>>>  #echo DX_FLAG_dot=$DX_FLAG_dot

>>>  #echo DX_FLAG_man=$DX_FLAG_man

>>> -#echo DX_FLAG_html=$DX_FLAG_html

>>> +echo DX_FLAG_html=$DX_FLAG_html

>>>  #echo DX_FLAG_chm=$DX_FLAG_chm

>>>  #echo DX_FLAG_chi=$DX_FLAG_chi

>>>  #echo DX_FLAG_rtf=$DX_FLAG_rtf

>>> @@ -530,4 +607,4 @@ esac

>>>  #echo DX_FLAG_pdf=$DX_FLAG_pdf

>>>  #echo DX_FLAG_ps=$DX_FLAG_ps

>>>  #echo DX_ENV=$DX_ENV

>>> -])

>>> +])

>>> \ No newline at end of file

>>> --

>>> 2.5.0

>>>

>>> _______________________________________________

>>> lng-odp mailing list

>>> lng-odp@lists.linaro.org

>>> https://lists.linaro.org/mailman/listinfo/lng-odp

>>>

>>

>>

>

>

> --

> Mike Holmes

> Technical Manager - Linaro Networking Group

> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs

> "Work should be fun and collborative, the rest follows"

>

>

>
Mike Holmes Feb. 15, 2016, 3:26 p.m. UTC | #4
I see it,  I did so many esoteric tests building in remote directories,
installing etc, I have broken the basic case and did not do that one last
time assuming it must be ok.

On 15 February 2016 at 09:02, Bill Fischofer <bill.fischofer@linaro.org>
wrote:

> Yes, I'm vanilla Ubuntu 15.10

>

> On Mon, Feb 15, 2016 at 7:12 AM, Mike Holmes <mike.holmes@linaro.org>

> wrote:

>

>> Thanks,  let me see if I can get this  same result, I did that same

>> procedure so many times - assume you are on 15.10 basic ubuntu box ?

>>

>> On 14 February 2016 at 15:49, Bill Fischofer <bill.fischofer@linaro.org>

>> wrote:

>>

>>> Applying this series to a fresh clone if I do:

>>>

>>> ./bootstrap

>>> ./configure --enable-cunit-support --enable-user-guides

>>> make doxygen-doc

>>>

>>> I get this:

>>>

>>> bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc

>>>   DXGEN  doc/application-api-guide/doxygen.cfg

>>> error: configuration file ./doc/application-api-guide/doxygen.cfg not

>>> found!

>>> Doxygen version 1.8.9.1

>>> Copyright Dimitri van Heesch 1997-2014

>>>

>>> You can use doxygen in a number of ways:

>>>

>>> 1) Use doxygen to generate a template configuration file:

>>>     /usr/bin/doxygen [-s] -g [configName]

>>>

>>>     If - is used for configName doxygen will write to standard output.

>>>

>>> 2) Use doxygen to update an old configuration file:

>>>     /usr/bin/doxygen [-s] -u [configName]

>>>

>>> 3) Use doxygen to generate documentation using an existing configuration

>>> file:

>>>     /usr/bin/doxygen [configName]

>>>

>>>     If - is used for configName doxygen will read from standard input.

>>>

>>> 4) Use doxygen to generate a template file controlling the layout of the

>>>    generated documentation:

>>>     /usr/bin/doxygen -l [layoutFileName.xml]

>>>

>>> 5) Use doxygen to generate a template style sheet file for RTF, HTML or

>>> Latex.

>>>     RTF:        /usr/bin/doxygen -w rtf styleSheetFile

>>>     HTML:       /usr/bin/doxygen -w html headerFile footerFile

>>> styleSheetFile [configFile]

>>>     LaTeX:      /usr/bin/doxygen -w latex headerFile footerFile

>>> styleSheetFile [configFile]

>>>

>>> 6) Use doxygen to generate a rtf extensions file

>>>     RTF:   /usr/bin/doxygen -e rtf extensionsFile

>>>

>>> If -s is specified the comments of the configuration items in the config

>>> file will be omitted.

>>> If configName is omitted `Doxyfile' will be used as a default.

>>>

>>> -v print version string

>>> Makefile:893: recipe for target

>>> 'doc/application-api-guide/opendataplane.tag' failed

>>> make: *** [doc/application-api-guide/opendataplane.tag] Error 1

>>>

>>> ---

>>> If I do a make (which seems to generate the user guides correctly) and

>>> then do a make doxygen-doc I get this:

>>>

>>> bill@Ubuntu15:~/linaro/mikedoc2$ make doxygen-doc

>>> make: *** No rule to make target

>>> 'doc/application-api-guide/doxygen.cfg', needed by

>>> 'doc/application-api-guide/opendataplane.tag'.  Stop.

>>>

>>>

>>>

>>>

>>> On Sat, Feb 13, 2016 at 9:42 PM, Mike Holmes <mike.holmes@linaro.org>

>>> wrote:

>>>

>>>> fixes https://bugs.linaro.org/show_bug.cgi?id=1946

>>>>

>>>> Move to the latest m4 scripts for doxygen and revert to using it without

>>>> modification, thus make doxygen-html becomes make doxygen-doc.

>>>> Also cleans up the last parts of the previously removed .pdf support.

>>>> Output now left in application-api-guide to match the other guides.

>>>>

>>>> Signed-off-by: Mike Holmes <mike.holmes@linaro.org>

>>>> ---

>>>>  Makefile.am           |   2 +-

>>>>  README                |   2 +-

>>>>  aminclude.am          | 167 -------------------

>>>>  configure.ac          |   5 +-

>>>>  m4/ax_prog_doxygen.m4 | 449

>>>> +++++++++++++++++++++++++++++---------------------

>>>>  5 files changed, 268 insertions(+), 357 deletions(-)

>>>>  delete mode 100644 aminclude.am

>>>>

>>>> diff --git a/Makefile.am b/Makefile.am

>>>> index 2acbe3d..2129472 100644

>>>> --- a/Makefile.am

>>>> +++ b/Makefile.am

>>>> @@ -15,6 +15,6 @@ SUBDIRS = @platform_with_platform@ \

>>>>           example \

>>>>           scripts

>>>>

>>>> -include $(top_srcdir)/aminclude.am

>>>> +@DX_RULES@

>>>>

>>>>  EXTRA_DIST = bootstrap $(DX_CONFIG) CHANGELOG config/README .scmversion

>>>> diff --git a/README b/README

>>>> index d8583be..4350b95 100644

>>>> --- a/README

>>>> +++ b/README

>>>> @@ -17,7 +17,7 @@ Main git repository:

>>>>      In general you can build:

>>>>      ./bootstrap

>>>>      ./configure

>>>> -    Use 'make' to build ODP library and samples and 'make

>>>> doxygen-html' to build

>>>> +    Use 'make' to build ODP library and samples and 'make doxygen-doc'

>>>> to build

>>>>      ODP API documentation. 'make install' will copy all required

>>>> headers and

>>>>      binary files to the install directory.

>>>>

>>>> diff --git a/aminclude.am b/aminclude.am

>>>> deleted file mode 100644

>>>> index 1b0ec01..0000000

>>>> --- a/aminclude.am

>>>> +++ /dev/null

>>>> @@ -1,167 +0,0 @@

>>>> -# LICENSE

>>>> -#

>>>> -#   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

>>>> -#

>>>> -#   Copying and distribution of this file, with or without

>>>> modification, are

>>>> -#   permitted in any medium without royalty provided the copyright

>>>> notice

>>>> -#   and this notice are preserved. This file is offered as-is, without

>>>> any

>>>> -#   warranty.

>>>> -#

>>>> -

>>>> -## --------------------------------- ##

>>>> -## Format-independent Doxygen rules. ##

>>>> -## --------------------------------- ##

>>>> -

>>>> -if DX_COND_doc

>>>> -

>>>> -## ------------------------------- ##

>>>> -## Rules specific for HTML output. ##

>>>> -## ------------------------------- ##

>>>> -

>>>> -if DX_COND_html

>>>> -

>>>> -DX_CLEAN_HTML = @DX_DOCDIR@/html

>>>> -

>>>> -endif DX_COND_html

>>>> -

>>>> -## ------------------------------ ##

>>>> -## Rules specific for CHM output. ##

>>>> -## ------------------------------ ##

>>>> -

>>>> -if DX_COND_chm

>>>> -

>>>> -DX_CLEAN_CHM = @DX_DOCDIR@/chm

>>>> -

>>>> -if DX_COND_chi

>>>> -

>>>> -DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

>>>> -

>>>> -endif DX_COND_chi

>>>> -

>>>> -endif DX_COND_chm

>>>> -

>>>> -## ------------------------------ ##

>>>> -## Rules specific for MAN output. ##

>>>> -## ------------------------------ ##

>>>> -

>>>> -if DX_COND_man

>>>> -

>>>> -DX_CLEAN_MAN = @DX_DOCDIR@/man

>>>> -

>>>> -endif DX_COND_man

>>>> -

>>>> -## ------------------------------ ##

>>>> -## Rules specific for RTF output. ##

>>>> -## ------------------------------ ##

>>>> -

>>>> -if DX_COND_rtf

>>>> -

>>>> -DX_CLEAN_RTF = @DX_DOCDIR@/rtf

>>>> -

>>>> -endif DX_COND_rtf

>>>> -

>>>> -## ------------------------------ ##

>>>> -## Rules specific for XML output. ##

>>>> -## ------------------------------ ##

>>>> -

>>>> -if DX_COND_xml

>>>> -

>>>> -DX_CLEAN_XML = @DX_DOCDIR@/xml

>>>> -

>>>> -endif DX_COND_xml

>>>> -

>>>> -## ----------------------------- ##

>>>> -## Rules specific for PS output. ##

>>>> -## ----------------------------- ##

>>>> -

>>>> -if DX_COND_ps

>>>> -

>>>> -DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

>>>> -

>>>> -DX_PS_GOAL = doxygen-ps

>>>> -

>>>> -doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

>>>> -

>>>> -@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

>>>> -       cd @DX_DOCDIR@/latex; \

>>>> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>>> -       $(DX_LATEX) refman.tex; \

>>>> -       $(MAKEINDEX_PATH) refman.idx; \

>>>> -       $(DX_LATEX) refman.tex; \

>>>> -       countdown=5; \

>>>> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

>>>> \

>>>> -                         refman.log > /dev/null 2>&1 \

>>>> -          && test $$countdown -gt 0; do \

>>>> -           $(DX_LATEX) refman.tex; \

>>>> -           countdown=`expr $$countdown - 1`; \

>>>> -       done; \

>>>> -       $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

>>>> -

>>>> -endif DX_COND_ps

>>>> -

>>>> -## ------------------------------ ##

>>>> -## Rules specific for PDF output. ##

>>>> -## ------------------------------ ##

>>>> -

>>>> -if DX_COND_pdf

>>>> -

>>>> -DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

>>>> -

>>>> -DX_PDF_GOAL = doxygen-pdf

>>>> -

>>>> -doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

>>>> -

>>>> -@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

>>>> -       cd @DX_DOCDIR@/latex; \

>>>> -       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>>> -       $(DX_PDFLATEX) refman.tex; \

>>>> -       $(DX_MAKEINDEX) refman.idx; \

>>>> -       $(DX_PDFLATEX) refman.tex; \

>>>> -       countdown=5; \

>>>> -       while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)'

>>>> \

>>>> -                         refman.log > /dev/null 2>&1 \

>>>> -          && test $$countdown -gt 0; do \

>>>> -           $(DX_PDFLATEX) refman.tex; \

>>>> -           countdown=`expr $$countdown - 1`; \

>>>> -       done; \

>>>> -       mv refman.pdf ../@PACKAGE@.pdf

>>>> -

>>>> -endif DX_COND_pdf

>>>> -

>>>> -## ------------------------------------------------- ##

>>>> -## Rules specific for LaTeX (shared for PS and PDF). ##

>>>> -## ------------------------------------------------- ##

>>>> -

>>>> -if DX_COND_latex

>>>> -

>>>> -DX_CLEAN_LATEX = @DX_DOCDIR@/latex

>>>> -

>>>> -endif DX_COND_latex

>>>> -

>>>> -.PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>>> -

>>>> -.INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>>> -

>>>> -doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

>>>> -

>>>> -doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>>> -

>>>> -@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

>>>> -       rm -rf @DX_DOCDIR@

>>>> -       make --directory=$(srcdir)/doc/images

>>>> -       $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

>>>> -

>>>> -DX_CLEANFILES = \

>>>> -    @DX_DOCDIR@/@PACKAGE@.tag \

>>>> -    -r \

>>>> -    $(DX_CLEAN_HTML) \

>>>> -    $(DX_CLEAN_CHM) \

>>>> -    $(DX_CLEAN_CHI) \

>>>> -    $(DX_CLEAN_MAN) \

>>>> -    $(DX_CLEAN_RTF) \

>>>> -    $(DX_CLEAN_XML) \

>>>> -    $(DX_CLEAN_PS) \

>>>> -    $(DX_CLEAN_PDF) \

>>>> -    $(DX_CLEAN_LATEX)

>>>> -

>>>> -endif DX_COND_doc

>>>> diff --git a/configure.ac b/configure.ac

>>>> index 8108ff2..c0c2af3 100644

>>>> --- a/configure.ac

>>>> +++ b/configure.ac

>>>> @@ -141,8 +141,9 @@ AC_ARG_ENABLE([cunit_support],

>>>>  # Setup doxygen documentation

>>>>

>>>>  ##########################################################################

>>>>  DX_HTML_FEATURE(ON)

>>>> -DX_PDF_FEATURE(ON)

>>>> -DX_INIT_DOXYGEN($PACKAGE_NAME, doc/application-api-guide/doxygen.cfg,

>>>> doc/output)

>>>> +DX_PDF_FEATURE(OFF)

>>>> +DX_PS_FEATURE(OFF)

>>>> +DX_INIT_DOXYGEN($PACKAGE_NAME,

>>>> ${srcdir}/doc/application-api-guide/doxygen.cfg,

>>>> ${builddir}/doc/application-api-guide)

>>>>

>>>>  ##########################################################################

>>>>  # Enable/disable Unit tests

>>>>

>>>>  ##########################################################################

>>>> diff --git a/m4/ax_prog_doxygen.m4 b/m4/ax_prog_doxygen.m4

>>>> index 58bb016..d0858ca 100644

>>>> --- a/m4/ax_prog_doxygen.m4

>>>> +++ b/m4/ax_prog_doxygen.m4

>>>> @@ -4,7 +4,7 @@

>>>>  #

>>>>  # SYNOPSIS

>>>>  #

>>>> -#   DX_INIT_DOXYGEN(PROJECT-NAME, DOXYFILE-PATH, [OUTPUT-DIR])

>>>> +#   DX_INIT_DOXYGEN(PROJECT-NAME, [DOXYFILE-PATH], [OUTPUT-DIR], ...)

>>>>  #   DX_DOXYGEN_FEATURE(ON|OFF)

>>>>  #   DX_DOT_FEATURE(ON|OFF)

>>>>  #   DX_HTML_FEATURE(ON|OFF)

>>>> @@ -45,25 +45,28 @@

>>>>  #   Once all the feature defaults have been specified, call

>>>> DX_INIT_DOXYGEN

>>>>  #   with the following parameters: a one-word name for the project for

>>>> use

>>>>  #   as a filename base etc., an optional configuration file name (the

>>>> -#   default is 'Doxyfile', the same as Doxygen's default), and an

>>>> optional

>>>> -#   output directory name (the default is 'doxygen-doc').

>>>> +#   default is '$(srcdir)/Doxyfile', the same as Doxygen's default),

>>>> and an

>>>> +#   optional output directory name (the default is 'doxygen-doc'). To

>>>> run

>>>> +#   doxygen multiple times for different configuration files and output

>>>> +#   directories provide more parameters: the second, forth, sixth, etc

>>>> +#   parameter are configuration file names and the third, fifth,

>>>> seventh,

>>>> +#   etc parameter are output directories. No checking is done to catch

>>>> +#   duplicates.

>>>>  #

>>>>  #   Automake Support

>>>>  #

>>>> -#   The following is a template aminclude.am file for use with

>>>> Automake.

>>>> -#   Make targets and variables values are controlled by the various

>>>> -#   DX_COND_* conditionals set by autoconf.

>>>> +#   The DX_RULES substitution can be used to add all needed rules to

>>>> the

>>>> +#   Makefile. Note that this is a substitution without being a

>>>> variable:

>>>> +#   only the @DX_RULES@ syntax will work.

>>>>  #

>>>>  #   The provided targets are:

>>>>  #

>>>>  #     doxygen-doc: Generate all doxygen documentation.

>>>>  #

>>>> -#     doxygen-html: Run doxygen, which will generate some of the

>>>> +#     doxygen-run: Run doxygen, which will generate some of the

>>>>  #                  documentation (HTML, CHM, CHI, MAN, RTF, XML)

>>>>  #                  but will not do the post processing required

>>>> -#                  for the rest of it (PS, PDF, and some MAN).

>>>> -#

>>>> -#     doxygen-man: Rename some doxygen generated man pages.

>>>> +#                  for the rest of it (PS, PDF).

>>>>  #

>>>>  #     doxygen-ps:  Generate doxygen PostScript documentation.

>>>>  #

>>>> @@ -84,177 +87,17 @@

>>>>  #

>>>>  #   Then add this variable to MOSTLYCLEANFILES.

>>>>  #

>>>> -#     ----- begin aminclude.am -------------------------------------

>>>> -#

>>>> -#     ## --------------------------------- ##

>>>> -#     ## Format-independent Doxygen rules. ##

>>>> -#     ## --------------------------------- ##

>>>> -#

>>>> -#     if DX_COND_doc

>>>> -#

>>>> -#     ## ------------------------------- ##

>>>> -#     ## Rules specific for HTML output. ##

>>>> -#     ## ------------------------------- ##

>>>> -#

>>>> -#     if DX_COND_html

>>>> -#

>>>> -#     DX_CLEAN_HTML = @DX_DOCDIR@/html

>>>> -#

>>>> -#     endif DX_COND_html

>>>> -#

>>>> -#     ## ------------------------------ ##

>>>> -#     ## Rules specific for CHM output. ##

>>>> -#     ## ------------------------------ ##

>>>> -#

>>>> -#     if DX_COND_chm

>>>> -#

>>>> -#     DX_CLEAN_CHM = @DX_DOCDIR@/chm

>>>> -#

>>>> -#     if DX_COND_chi

>>>> -#

>>>> -#     DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi

>>>> -#

>>>> -#     endif DX_COND_chi

>>>> -#

>>>> -#     endif DX_COND_chm

>>>> -#

>>>> -#     ## ------------------------------ ##

>>>> -#     ## Rules specific for MAN output. ##

>>>> -#     ## ------------------------------ ##

>>>> -#

>>>> -#     if DX_COND_man

>>>> -#

>>>> -#     DX_CLEAN_MAN = @DX_DOCDIR@/man

>>>> -#

>>>> -#     endif DX_COND_man

>>>> -#

>>>> -#     ## ------------------------------ ##

>>>> -#     ## Rules specific for RTF output. ##

>>>> -#     ## ------------------------------ ##

>>>> -#

>>>> -#     if DX_COND_rtf

>>>> -#

>>>> -#     DX_CLEAN_RTF = @DX_DOCDIR@/rtf

>>>> -#

>>>> -#     endif DX_COND_rtf

>>>> -#

>>>> -#     ## ------------------------------ ##

>>>> -#     ## Rules specific for XML output. ##

>>>> -#     ## ------------------------------ ##

>>>> -#

>>>> -#     if DX_COND_xml

>>>> -#

>>>> -#     DX_CLEAN_XML = @DX_DOCDIR@/xml

>>>> -#

>>>> -#     endif DX_COND_xml

>>>> -#

>>>> -#     ## ----------------------------- ##

>>>> -#     ## Rules specific for PS output. ##

>>>> -#     ## ----------------------------- ##

>>>> -#

>>>> -#     if DX_COND_ps

>>>> -#

>>>> -#     DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps

>>>> -#

>>>> -#     DX_PS_GOAL = doxygen-ps

>>>> -#

>>>> -#     doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps

>>>> -#

>>>> -#     @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag

>>>> -#         cd @DX_DOCDIR@/latex; \

>>>> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>>> -#         $(DX_LATEX) refman.tex; \

>>>> -#         $(MAKEINDEX_PATH) refman.idx; \

>>>> -#         $(DX_LATEX) refman.tex; \

>>>> -#         countdown=5; \

>>>> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>>>> right)' \

>>>> -#                           refman.log > /dev/null 2>&1 \

>>>> -#            && test $$countdown -gt 0; do \

>>>> -#             $(DX_LATEX) refman.tex; \

>>>> -#             countdown=`expr $$countdown - 1`; \

>>>> -#         done; \

>>>> -#         $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi

>>>> -#

>>>> -#     endif DX_COND_ps

>>>> -#

>>>> -#     ## ------------------------------ ##

>>>> -#     ## Rules specific for PDF output. ##

>>>> -#     ## ------------------------------ ##

>>>> -#

>>>> -#     if DX_COND_pdf

>>>> -#

>>>> -#     DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf

>>>> -#

>>>> -#     DX_PDF_GOAL = doxygen-pdf

>>>> -#

>>>> -#     doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf

>>>> -#

>>>> -#     @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag

>>>> -#         cd @DX_DOCDIR@/latex; \

>>>> -#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \

>>>> -#         $(DX_PDFLATEX) refman.tex; \

>>>> -#         $(DX_MAKEINDEX) refman.idx; \

>>>> -#         $(DX_PDFLATEX) refman.tex; \

>>>> -#         countdown=5; \

>>>> -#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>>>> right)' \

>>>> -#                           refman.log > /dev/null 2>&1 \

>>>> -#            && test $$countdown -gt 0; do \

>>>> -#             $(DX_PDFLATEX) refman.tex; \

>>>> -#             countdown=`expr $$countdown - 1`; \

>>>> -#         done; \

>>>> -#         mv refman.pdf ../@PACKAGE@.pdf

>>>> -#

>>>> -#     endif DX_COND_pdf

>>>> -#

>>>> -#     ## ------------------------------------------------- ##

>>>> -#     ## Rules specific for LaTeX (shared for PS and PDF). ##

>>>> -#     ## ------------------------------------------------- ##

>>>> -#

>>>> -#     if DX_COND_latex

>>>> -#

>>>> -#     DX_CLEAN_LATEX = @DX_DOCDIR@/latex

>>>> -#

>>>> -#     endif DX_COND_latex

>>>> -#

>>>> -#     .PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>>> -#

>>>> -#     .INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>>> -#

>>>> -#     doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag

>>>> -#

>>>> -#     doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)

>>>> -#

>>>> -#     @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)

>>>> -#         rm -rf @DX_DOCDIR@

>>>> -#         $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)

>>>> -#

>>>> -#     DX_CLEANFILES = \

>>>> -#         @DX_DOCDIR@/@PACKAGE@.tag \

>>>> -#         -r \

>>>> -#         $(DX_CLEAN_HTML) \

>>>> -#         $(DX_CLEAN_CHM) \

>>>> -#         $(DX_CLEAN_CHI) \

>>>> -#         $(DX_CLEAN_MAN) \

>>>> -#         $(DX_CLEAN_RTF) \

>>>> -#         $(DX_CLEAN_XML) \

>>>> -#         $(DX_CLEAN_PS) \

>>>> -#         $(DX_CLEAN_PDF) \

>>>> -#         $(DX_CLEAN_LATEX)

>>>> -#

>>>> -#     endif DX_COND_doc

>>>> -#

>>>> -#     ----- end aminclude.am ---------------------------------------

>>>> -#

>>>>  # LICENSE

>>>>  #

>>>>  #   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>

>>>> +#   Copyright (c) 2015 Olaf Mandel <olaf@mandel.name>

>>>>  #

>>>>  #   Copying and distribution of this file, with or without

>>>> modification, are

>>>>  #   permitted in any medium without royalty provided the copyright

>>>> notice

>>>>  #   and this notice are preserved. This file is offered as-is, without

>>>> any

>>>>  #   warranty.

>>>>

>>>> -#serial 12

>>>> +#serial 18

>>>>

>>>>  ## ----------##

>>>>  ## Defaults. ##

>>>> @@ -278,8 +121,14 @@ AC_DEFUN([DX_FEATURE_ps],   ON)

>>>>

>>>>  # DX_ENV_APPEND(VARIABLE, VALUE)

>>>>  # ------------------------------

>>>> -# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.

>>>> -AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])

>>>> +# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen and add it

>>>> +# as a substitution (but not a Makefile variable). The substitution

>>>> +# is skipped if the variable name is VERSION.

>>>> +AC_DEFUN([DX_ENV_APPEND],

>>>> +[AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])dnl

>>>> +m4_if([$1], [VERSION], [], [AC_SUBST([$1], [$2])dnl

>>>> +AM_SUBST_NOTMAKE([$1])])dnl

>>>> +])

>>>>

>>>>  # DX_DIRNAME_EXPR

>>>>  # ---------------

>>>> @@ -364,7 +213,6 @@ if DX_TEST_FEATURE([$1]); then

>>>>      $5

>>>>      :

>>>>  fi

>>>> -AM_CONDITIONAL(DX_COND_$1, DX_TEST_FEATURE([$1]))

>>>>  if DX_TEST_FEATURE([$1]); then

>>>>      $6

>>>>      :

>>>> @@ -392,23 +240,38 @@ AC_DEFUN([DX_XML_FEATURE],

>>>>  [AC_DEFUN([DX_FEATURE_xml],  [$1])])

>>>>  AC_DEFUN([DX_PDF_FEATURE],     [AC_DEFUN([DX_FEATURE_pdf],  [$1])])

>>>>  AC_DEFUN([DX_PS_FEATURE],      [AC_DEFUN([DX_FEATURE_ps],   [$1])])

>>>>

>>>> -# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])

>>>> -# ---------------------------------------------------------

>>>> +# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR], ...)

>>>> +# --------------------------------------------------------------

>>>>  # PROJECT also serves as the base name for the documentation files.

>>>> -# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is

>>>> "doxygen-doc".

>>>> +# The default CONFIG-FILE is "$(srcdir)/Doxyfile" and OUTPUT-DOC-DIR is

>>>> +# "doxygen-doc".

>>>> +# More arguments are interpreted as interleaved CONFIG-FILE and

>>>> +# OUTPUT-DOC-DIR values.

>>>>  AC_DEFUN([DX_INIT_DOXYGEN], [

>>>>

>>>>  # Files:

>>>>  AC_SUBST([DX_PROJECT], [$1])

>>>> -AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])

>>>> -AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])

>>>> +AC_SUBST([DX_CONFIG], ['ifelse([$2], [], [$(srcdir)/Doxyfile], [$2])'])

>>>> +AC_SUBST([DX_DOCDIR], ['ifelse([$3], [], [doxygen-doc], [$3])'])

>>>> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 4, m4_count($@), 2,

>>>> +      [AC_SUBST([DX_CONFIG]m4_eval(DX_i[/2]),

>>>> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

>>>> +

>>>> [$(srcdir)/Doxyfile])')])])dnl

>>>> +m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 5, m4_count($@,),

>>>> 2,

>>>> +      [AC_SUBST([DX_DOCDIR]m4_eval([(]DX_i[-1)/2]),

>>>> +                'm4_default_nblank_quoted(m4_argn(DX_i, $@),

>>>> +                                          [doxygen-doc])')])])dnl

>>>> +m4_define([DX_loop], m4_dquote(m4_if(m4_eval(3 < m4_count($@)), 1,

>>>> +          [m4_for([DX_i], 4, m4_count($@), 2, [, m4_eval(DX_i[/2])])],

>>>> +          [])))dnl

>>>>

>>>>  # Environment variables used inside doxygen.cfg:

>>>>  DX_ENV_APPEND(SRCDIR, $srcdir)

>>>> -DX_ENV_APPEND(PROJECT, $DX_PROJECT)

>>>> -DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)

>>>> +DX_ENV_APPEND(BUILDDIR, $builddir)

>>>>  DX_ENV_APPEND(VERSION, $VERSION)

>>>>  DX_ENV_APPEND(WITH_PLATFORM, $with_platform)

>>>> +DX_ENV_APPEND(PROJECT, $DX_PROJECT)

>>>> +DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)

>>>>

>>>>  # Doxygen itself:

>>>>  DX_ARG_ABLE(doc, [generate any doxygen documentation],

>>>> @@ -495,7 +358,6 @@ DX_ARG_ABLE(pdf, [generate doxygen PDF

>>>> documentation],

>>>>               DX_REQUIRE_PROG([DX_EGREP], egrep)])

>>>>

>>>>  # LaTeX generation for PS and/or PDF:

>>>> -AM_CONDITIONAL(DX_COND_latex, DX_TEST_FEATURE(ps) ||

>>>> DX_TEST_FEATURE(pdf))

>>>>  if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then

>>>>      DX_ENV_APPEND(GENERATE_LATEX, YES)

>>>>  else

>>>> @@ -518,11 +380,226 @@ a4wide|a4|letter|legal|executive)

>>>>  ;;

>>>>  esac

>>>>

>>>> +# Rules:

>>>> +if test $DX_FLAG_html -eq 1; then

>>>> +    DX_SNIPPET_html="## ------------------------------- ##

>>>> +## Rules specific for HTML output. ##

>>>> +## ------------------------------- ##

>>>> +

>>>> +DX_CLEAN_HTML = \$(DX_DOCDIR)/html[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +                \$(DX_DOCDIR]DX_i[)/html]])

>>>> +

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_html=""

>>>> +fi

>>>> +if test $DX_FLAG_chi -eq 1; then

>>>> +    DX_SNIPPET_chi="

>>>> +DX_CLEAN_CHI = \$(DX_DOCDIR)/\$(PACKAGE).chi[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).chi]])"

>>>> +else

>>>> +    DX_SNIPPET_chi=""

>>>> +fi

>>>> +if test $DX_FLAG_chm -eq 1; then

>>>> +    DX_SNIPPET_chm="## ------------------------------ ##

>>>> +## Rules specific for CHM output. ##

>>>> +## ------------------------------ ##

>>>> +

>>>> +DX_CLEAN_CHM = \$(DX_DOCDIR)/chm[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +               \$(DX_DOCDIR]DX_i[)/chm]])\

>>>> +${DX_SNIPPET_chi}

>>>> +

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_chm=""

>>>> +fi

>>>> +if test $DX_FLAG_man -eq 1; then

>>>> +    DX_SNIPPET_man="## ------------------------------ ##

>>>> +## Rules specific for MAN output. ##

>>>> +## ------------------------------ ##

>>>> +

>>>> +DX_CLEAN_MAN = \$(DX_DOCDIR)/man[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +               \$(DX_DOCDIR]DX_i[)/man]])

>>>> +

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_man=""

>>>> +fi

>>>> +if test $DX_FLAG_rtf -eq 1; then

>>>> +    DX_SNIPPET_rtf="## ------------------------------ ##

>>>> +## Rules specific for RTF output. ##

>>>> +## ------------------------------ ##

>>>> +

>>>> +DX_CLEAN_RTF = \$(DX_DOCDIR)/rtf[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +               \$(DX_DOCDIR]DX_i[)/rtf]])

>>>> +

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_rtf=""

>>>> +fi

>>>> +if test $DX_FLAG_xml -eq 1; then

>>>> +    DX_SNIPPET_xml="## ------------------------------ ##

>>>> +## Rules specific for XML output. ##

>>>> +## ------------------------------ ##

>>>> +

>>>> +DX_CLEAN_XML = \$(DX_DOCDIR)/xml[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +               \$(DX_DOCDIR]DX_i[)/xml]])

>>>> +

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_xml=""

>>>> +fi

>>>> +if test $DX_FLAG_ps -eq 1; then

>>>> +    DX_SNIPPET_ps="## ----------------------------- ##

>>>> +## Rules specific for PS output. ##

>>>> +## ----------------------------- ##

>>>> +

>>>> +DX_CLEAN_PS = \$(DX_DOCDIR)/\$(PACKAGE).ps[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +              \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps]])

>>>> +

>>>> +DX_PS_GOAL = doxygen-ps

>>>> +

>>>> +doxygen-ps: \$(DX_CLEAN_PS)

>>>> +

>>>> +m4_foreach([DX_i], [DX_loop],

>>>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps:

>>>> \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

>>>> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

>>>> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

>>>> +       \$(DX_LATEX) refman.tex; \\

>>>> +       \$(DX_MAKEINDEX) refman.idx; \\

>>>> +       \$(DX_LATEX) refman.tex; \\

>>>> +       countdown=5; \\

>>>> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>>>> right)' \\

>>>> +                         refman.log > /dev/null 2>&1 \\

>>>> +          && test \$\$countdown -gt 0; do \\

>>>> +           \$(DX_LATEX) refman.tex; \\

>>>> +            countdown=\`expr \$\$countdown - 1\`; \\

>>>> +       done; \\

>>>> +       \$(DX_DVIPS) -o ../\$(PACKAGE).ps refman.dvi

>>>> +

>>>> +]])dnl

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_ps=""

>>>> +fi

>>>> +if test $DX_FLAG_pdf -eq 1; then

>>>> +    DX_SNIPPET_pdf="## ------------------------------ ##

>>>> +## Rules specific for PDF output. ##

>>>> +## ------------------------------ ##

>>>> +

>>>> +DX_CLEAN_PDF = \$(DX_DOCDIR)/\$(PACKAGE).pdf[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf]])

>>>> +

>>>> +DX_PDF_GOAL = doxygen-pdf

>>>> +

>>>> +doxygen-pdf: \$(DX_CLEAN_PDF)

>>>> +

>>>> +m4_foreach([DX_i], [DX_loop],

>>>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf:

>>>> \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag

>>>> +       \$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\

>>>> +       rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\

>>>> +       \$(DX_PDFLATEX) refman.tex; \\

>>>> +       \$(DX_MAKEINDEX) refman.idx; \\

>>>> +       \$(DX_PDFLATEX) refman.tex; \\

>>>> +       countdown=5; \\

>>>> +       while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references

>>>> right)' \\

>>>> +                         refman.log > /dev/null 2>&1 \\

>>>> +          && test \$\$countdown -gt 0; do \\

>>>> +           \$(DX_PDFLATEX) refman.tex; \\

>>>> +           countdown=\`expr \$\$countdown - 1\`; \\

>>>> +       done; \\

>>>> +       mv refman.pdf ../\$(PACKAGE).pdf

>>>> +

>>>> +]])dnl

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_pdf=""

>>>> +fi

>>>> +if test $DX_FLAG_ps -eq 1 -o $DX_FLAG_pdf -eq 1; then

>>>> +    DX_SNIPPET_latex="##

>>>> ------------------------------------------------- ##

>>>> +## Rules specific for LaTeX (shared for PS and PDF). ##

>>>> +## ------------------------------------------------- ##

>>>> +

>>>> +DX_V_LATEX = \$(_DX_v_LATEX_\$(V))

>>>> +_DX_v_LATEX_ = \$(_DX_v_LATEX_\$(AM_DEFAULT_VERBOSITY))

>>>> +_DX_v_LATEX_0 = @echo \"  LATEX \" \$[]][[]@;

>>>> +

>>>> +DX_CLEAN_LATEX = \$(DX_DOCDIR)/latex[]dnl

>>>> +m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\

>>>> +                 \$(DX_DOCDIR]DX_i[)/latex]])

>>>> +

>>>> +"

>>>> +else

>>>> +    DX_SNIPPET_latex=""

>>>> +fi

>>>> +

>>>> +if test $DX_FLAG_doc -eq 1; then

>>>> +    DX_SNIPPET_doc="## --------------------------------- ##

>>>> +## Format-independent Doxygen rules. ##

>>>> +## --------------------------------- ##

>>>> +

>>>> +${DX_SNIPPET_html}\

>>>> +${DX_SNIPPET_chm}\

>>>> +${DX_SNIPPET_man}\

>>>> +${DX_SNIPPET_rtf}\

>>>> +${DX_SNIPPET_xml}\

>>>> +${DX_SNIPPET_ps}\

>>>> +${DX_SNIPPET_pdf}\

>>>> +${DX_SNIPPET_latex}\

>>>> +DX_V_DXGEN = \$(_DX_v_DXGEN_\$(V))

>>>> +_DX_v_DXGEN_ = \$(_DX_v_DXGEN_\$(AM_DEFAULT_VERBOSITY))

>>>> +_DX_v_DXGEN_0 = @echo \"  DXGEN \" \$<;

>>>> +

>>>> +.PHONY: doxygen-run doxygen-doc \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>>>> +

>>>> +.INTERMEDIATE: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>>>> +

>>>> +doxygen-run:[]m4_foreach([DX_i], [DX_loop],

>>>> +                         [[ \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag]])

>>>> +

>>>> +doxygen-doc: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)

>>>> +

>>>> +m4_foreach([DX_i], [DX_loop],

>>>> +[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag: \$(DX_CONFIG]DX_i[)

>>>> \$(pkginclude_HEADERS)

>>>> +       \$(A""M_V_at)rm -rf \$(DX_DOCDIR]DX_i[)

>>>> +       \$(DX_V_DXGEN)\$(DX_ENV) DOCDIR=\$(DX_DOCDIR]DX_i[)

>>>> \$(DX_DOXYGEN) \$(DX_CONFIG]DX_i[)

>>>> +       \$(A""M_V_at)echo Timestamp >\$][@

>>>> +

>>>> +]])dnl

>>>> +DX_CLEANFILES = \\

>>>> +m4_foreach([DX_i], [DX_loop],

>>>> +[[     \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag \\

>>>> +]])dnl

>>>> +       -r \\

>>>> +       \$(DX_CLEAN_HTML) \\

>>>> +       \$(DX_CLEAN_CHM) \\

>>>> +       \$(DX_CLEAN_CHI) \\

>>>> +       \$(DX_CLEAN_MAN) \\

>>>> +       \$(DX_CLEAN_RTF) \\

>>>> +       \$(DX_CLEAN_XML) \\

>>>> +       \$(DX_CLEAN_PS) \\

>>>> +       \$(DX_CLEAN_PDF) \\

>>>> +       \$(DX_CLEAN_LATEX)"

>>>> +else

>>>> +    DX_SNIPPET_doc=""

>>>> +fi

>>>> +AC_SUBST([DX_RULES],

>>>> +["${DX_SNIPPET_doc}"])dnl

>>>> +AM_SUBST_NOTMAKE([DX_RULES])

>>>> +

>>>>  #For debugging:

>>>> -#echo DX_FLAG_doc=$DX_FLAG_doc

>>>> +echo DX_FLAG_doc=$DX_FLAG_doc

>>>>  #echo DX_FLAG_dot=$DX_FLAG_dot

>>>>  #echo DX_FLAG_man=$DX_FLAG_man

>>>> -#echo DX_FLAG_html=$DX_FLAG_html

>>>> +echo DX_FLAG_html=$DX_FLAG_html

>>>>  #echo DX_FLAG_chm=$DX_FLAG_chm

>>>>  #echo DX_FLAG_chi=$DX_FLAG_chi

>>>>  #echo DX_FLAG_rtf=$DX_FLAG_rtf

>>>> @@ -530,4 +607,4 @@ esac

>>>>  #echo DX_FLAG_pdf=$DX_FLAG_pdf

>>>>  #echo DX_FLAG_ps=$DX_FLAG_ps

>>>>  #echo DX_ENV=$DX_ENV

>>>> -])

>>>> +])

>>>> \ No newline at end of file

>>>> --

>>>> 2.5.0

>>>>

>>>> _______________________________________________

>>>> lng-odp mailing list

>>>> lng-odp@lists.linaro.org

>>>> https://lists.linaro.org/mailman/listinfo/lng-odp

>>>>

>>>

>>>

>>

>>

>> --

>> Mike Holmes

>> Technical Manager - Linaro Networking Group

>> Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs

>> "Work should be fun and collborative, the rest follows"

>>

>>

>>

>



-- 
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collborative, the rest follows"
diff mbox

Patch

diff --git a/Makefile.am b/Makefile.am
index 2acbe3d..2129472 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,6 +15,6 @@  SUBDIRS = @platform_with_platform@ \
 	  example \
 	  scripts
 
-include $(top_srcdir)/aminclude.am
+@DX_RULES@
 
 EXTRA_DIST = bootstrap $(DX_CONFIG) CHANGELOG config/README .scmversion
diff --git a/README b/README
index d8583be..4350b95 100644
--- a/README
+++ b/README
@@ -17,7 +17,7 @@  Main git repository:
     In general you can build:
     ./bootstrap
     ./configure
-    Use 'make' to build ODP library and samples and 'make doxygen-html' to build
+    Use 'make' to build ODP library and samples and 'make doxygen-doc' to build
     ODP API documentation. 'make install' will copy all required headers and
     binary files to the install directory.
 
diff --git a/aminclude.am b/aminclude.am
deleted file mode 100644
index 1b0ec01..0000000
--- a/aminclude.am
+++ /dev/null
@@ -1,167 +0,0 @@ 
-# LICENSE
-#
-#   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>
-#
-#   Copying and distribution of this file, with or without modification, are
-#   permitted in any medium without royalty provided the copyright notice
-#   and this notice are preserved. This file is offered as-is, without any
-#   warranty.
-#
-
-## --------------------------------- ##
-## Format-independent Doxygen rules. ##
-## --------------------------------- ##
-
-if DX_COND_doc
-
-## ------------------------------- ##
-## Rules specific for HTML output. ##
-## ------------------------------- ##
-
-if DX_COND_html
-
-DX_CLEAN_HTML = @DX_DOCDIR@/html
-
-endif DX_COND_html
-
-## ------------------------------ ##
-## Rules specific for CHM output. ##
-## ------------------------------ ##
-
-if DX_COND_chm
-
-DX_CLEAN_CHM = @DX_DOCDIR@/chm
-
-if DX_COND_chi
-
-DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
-
-endif DX_COND_chi
-
-endif DX_COND_chm
-
-## ------------------------------ ##
-## Rules specific for MAN output. ##
-## ------------------------------ ##
-
-if DX_COND_man
-
-DX_CLEAN_MAN = @DX_DOCDIR@/man
-
-endif DX_COND_man
-
-## ------------------------------ ##
-## Rules specific for RTF output. ##
-## ------------------------------ ##
-
-if DX_COND_rtf
-
-DX_CLEAN_RTF = @DX_DOCDIR@/rtf
-
-endif DX_COND_rtf
-
-## ------------------------------ ##
-## Rules specific for XML output. ##
-## ------------------------------ ##
-
-if DX_COND_xml
-
-DX_CLEAN_XML = @DX_DOCDIR@/xml
-
-endif DX_COND_xml
-
-## ----------------------------- ##
-## Rules specific for PS output. ##
-## ----------------------------- ##
-
-if DX_COND_ps
-
-DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
-
-DX_PS_GOAL = doxygen-ps
-
-doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
-
-@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
-	cd @DX_DOCDIR@/latex; \
-	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-	$(DX_LATEX) refman.tex; \
-	$(MAKEINDEX_PATH) refman.idx; \
-	$(DX_LATEX) refman.tex; \
-	countdown=5; \
-	while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-	                  refman.log > /dev/null 2>&1 \
-	   && test $$countdown -gt 0; do \
-	    $(DX_LATEX) refman.tex; \
-	    countdown=`expr $$countdown - 1`; \
-	done; \
-	$(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
-
-endif DX_COND_ps
-
-## ------------------------------ ##
-## Rules specific for PDF output. ##
-## ------------------------------ ##
-
-if DX_COND_pdf
-
-DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
-
-DX_PDF_GOAL = doxygen-pdf
-
-doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
-
-@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
-	cd @DX_DOCDIR@/latex; \
-	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-	$(DX_PDFLATEX) refman.tex; \
-	$(DX_MAKEINDEX) refman.idx; \
-	$(DX_PDFLATEX) refman.tex; \
-	countdown=5; \
-	while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-	                  refman.log > /dev/null 2>&1 \
-	   && test $$countdown -gt 0; do \
-	    $(DX_PDFLATEX) refman.tex; \
-	    countdown=`expr $$countdown - 1`; \
-	done; \
-	mv refman.pdf ../@PACKAGE@.pdf
-
-endif DX_COND_pdf
-
-## ------------------------------------------------- ##
-## Rules specific for LaTeX (shared for PS and PDF). ##
-## ------------------------------------------------- ##
-
-if DX_COND_latex
-
-DX_CLEAN_LATEX = @DX_DOCDIR@/latex
-
-endif DX_COND_latex
-
-.PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
-
-.INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)
-
-doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag
-
-doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)
-
-@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
-	rm -rf @DX_DOCDIR@
-	make --directory=$(srcdir)/doc/images
-	$(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
-
-DX_CLEANFILES = \
-    @DX_DOCDIR@/@PACKAGE@.tag \
-    -r \
-    $(DX_CLEAN_HTML) \
-    $(DX_CLEAN_CHM) \
-    $(DX_CLEAN_CHI) \
-    $(DX_CLEAN_MAN) \
-    $(DX_CLEAN_RTF) \
-    $(DX_CLEAN_XML) \
-    $(DX_CLEAN_PS) \
-    $(DX_CLEAN_PDF) \
-    $(DX_CLEAN_LATEX)
-
-endif DX_COND_doc
diff --git a/configure.ac b/configure.ac
index 8108ff2..c0c2af3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -141,8 +141,9 @@  AC_ARG_ENABLE([cunit_support],
 # Setup doxygen documentation
 ##########################################################################
 DX_HTML_FEATURE(ON)
-DX_PDF_FEATURE(ON)
-DX_INIT_DOXYGEN($PACKAGE_NAME, doc/application-api-guide/doxygen.cfg, doc/output)
+DX_PDF_FEATURE(OFF)
+DX_PS_FEATURE(OFF)
+DX_INIT_DOXYGEN($PACKAGE_NAME, ${srcdir}/doc/application-api-guide/doxygen.cfg, ${builddir}/doc/application-api-guide)
 ##########################################################################
 # Enable/disable Unit tests
 ##########################################################################
diff --git a/m4/ax_prog_doxygen.m4 b/m4/ax_prog_doxygen.m4
index 58bb016..d0858ca 100644
--- a/m4/ax_prog_doxygen.m4
+++ b/m4/ax_prog_doxygen.m4
@@ -4,7 +4,7 @@ 
 #
 # SYNOPSIS
 #
-#   DX_INIT_DOXYGEN(PROJECT-NAME, DOXYFILE-PATH, [OUTPUT-DIR])
+#   DX_INIT_DOXYGEN(PROJECT-NAME, [DOXYFILE-PATH], [OUTPUT-DIR], ...)
 #   DX_DOXYGEN_FEATURE(ON|OFF)
 #   DX_DOT_FEATURE(ON|OFF)
 #   DX_HTML_FEATURE(ON|OFF)
@@ -45,25 +45,28 @@ 
 #   Once all the feature defaults have been specified, call DX_INIT_DOXYGEN
 #   with the following parameters: a one-word name for the project for use
 #   as a filename base etc., an optional configuration file name (the
-#   default is 'Doxyfile', the same as Doxygen's default), and an optional
-#   output directory name (the default is 'doxygen-doc').
+#   default is '$(srcdir)/Doxyfile', the same as Doxygen's default), and an
+#   optional output directory name (the default is 'doxygen-doc'). To run
+#   doxygen multiple times for different configuration files and output
+#   directories provide more parameters: the second, forth, sixth, etc
+#   parameter are configuration file names and the third, fifth, seventh,
+#   etc parameter are output directories. No checking is done to catch
+#   duplicates.
 #
 #   Automake Support
 #
-#   The following is a template aminclude.am file for use with Automake.
-#   Make targets and variables values are controlled by the various
-#   DX_COND_* conditionals set by autoconf.
+#   The DX_RULES substitution can be used to add all needed rules to the
+#   Makefile. Note that this is a substitution without being a variable:
+#   only the @DX_RULES@ syntax will work.
 #
 #   The provided targets are:
 #
 #     doxygen-doc: Generate all doxygen documentation.
 #
-#     doxygen-html: Run doxygen, which will generate some of the
+#     doxygen-run: Run doxygen, which will generate some of the
 #                  documentation (HTML, CHM, CHI, MAN, RTF, XML)
 #                  but will not do the post processing required
-#                  for the rest of it (PS, PDF, and some MAN).
-#
-#     doxygen-man: Rename some doxygen generated man pages.
+#                  for the rest of it (PS, PDF).
 #
 #     doxygen-ps:  Generate doxygen PostScript documentation.
 #
@@ -84,177 +87,17 @@ 
 #
 #   Then add this variable to MOSTLYCLEANFILES.
 #
-#     ----- begin aminclude.am -------------------------------------
-#
-#     ## --------------------------------- ##
-#     ## Format-independent Doxygen rules. ##
-#     ## --------------------------------- ##
-#
-#     if DX_COND_doc
-#
-#     ## ------------------------------- ##
-#     ## Rules specific for HTML output. ##
-#     ## ------------------------------- ##
-#
-#     if DX_COND_html
-#
-#     DX_CLEAN_HTML = @DX_DOCDIR@/html
-#
-#     endif DX_COND_html
-#
-#     ## ------------------------------ ##
-#     ## Rules specific for CHM output. ##
-#     ## ------------------------------ ##
-#
-#     if DX_COND_chm
-#
-#     DX_CLEAN_CHM = @DX_DOCDIR@/chm
-#
-#     if DX_COND_chi
-#
-#     DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
-#
-#     endif DX_COND_chi
-#
-#     endif DX_COND_chm
-#
-#     ## ------------------------------ ##
-#     ## Rules specific for MAN output. ##
-#     ## ------------------------------ ##
-#
-#     if DX_COND_man
-#
-#     DX_CLEAN_MAN = @DX_DOCDIR@/man
-#
-#     endif DX_COND_man
-#
-#     ## ------------------------------ ##
-#     ## Rules specific for RTF output. ##
-#     ## ------------------------------ ##
-#
-#     if DX_COND_rtf
-#
-#     DX_CLEAN_RTF = @DX_DOCDIR@/rtf
-#
-#     endif DX_COND_rtf
-#
-#     ## ------------------------------ ##
-#     ## Rules specific for XML output. ##
-#     ## ------------------------------ ##
-#
-#     if DX_COND_xml
-#
-#     DX_CLEAN_XML = @DX_DOCDIR@/xml
-#
-#     endif DX_COND_xml
-#
-#     ## ----------------------------- ##
-#     ## Rules specific for PS output. ##
-#     ## ----------------------------- ##
-#
-#     if DX_COND_ps
-#
-#     DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
-#
-#     DX_PS_GOAL = doxygen-ps
-#
-#     doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
-#
-#     @DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
-#         cd @DX_DOCDIR@/latex; \
-#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-#         $(DX_LATEX) refman.tex; \
-#         $(MAKEINDEX_PATH) refman.idx; \
-#         $(DX_LATEX) refman.tex; \
-#         countdown=5; \
-#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-#                           refman.log > /dev/null 2>&1 \
-#            && test $$countdown -gt 0; do \
-#             $(DX_LATEX) refman.tex; \
-#             countdown=`expr $$countdown - 1`; \
-#         done; \
-#         $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
-#
-#     endif DX_COND_ps
-#
-#     ## ------------------------------ ##
-#     ## Rules specific for PDF output. ##
-#     ## ------------------------------ ##
-#
-#     if DX_COND_pdf
-#
-#     DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
-#
-#     DX_PDF_GOAL = doxygen-pdf
-#
-#     doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
-#
-#     @DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
-#         cd @DX_DOCDIR@/latex; \
-#         rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
-#         $(DX_PDFLATEX) refman.tex; \
-#         $(DX_MAKEINDEX) refman.idx; \
-#         $(DX_PDFLATEX) refman.tex; \
-#         countdown=5; \
-#         while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
-#                           refman.log > /dev/null 2>&1 \
-#            && test $$countdown -gt 0; do \
-#             $(DX_PDFLATEX) refman.tex; \
-#             countdown=`expr $$countdown - 1`; \
-#         done; \
-#         mv refman.pdf ../@PACKAGE@.pdf
-#
-#     endif DX_COND_pdf
-#
-#     ## ------------------------------------------------- ##
-#     ## Rules specific for LaTeX (shared for PS and PDF). ##
-#     ## ------------------------------------------------- ##
-#
-#     if DX_COND_latex
-#
-#     DX_CLEAN_LATEX = @DX_DOCDIR@/latex
-#
-#     endif DX_COND_latex
-#
-#     .PHONY: doxygen-html doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
-#
-#     .INTERMEDIATE: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)
-#
-#     doxygen-html: @DX_DOCDIR@/@PACKAGE@.tag
-#
-#     doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL)
-#
-#     @DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
-#         rm -rf @DX_DOCDIR@
-#         $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
-#
-#     DX_CLEANFILES = \
-#         @DX_DOCDIR@/@PACKAGE@.tag \
-#         -r \
-#         $(DX_CLEAN_HTML) \
-#         $(DX_CLEAN_CHM) \
-#         $(DX_CLEAN_CHI) \
-#         $(DX_CLEAN_MAN) \
-#         $(DX_CLEAN_RTF) \
-#         $(DX_CLEAN_XML) \
-#         $(DX_CLEAN_PS) \
-#         $(DX_CLEAN_PDF) \
-#         $(DX_CLEAN_LATEX)
-#
-#     endif DX_COND_doc
-#
-#     ----- end aminclude.am ---------------------------------------
-#
 # LICENSE
 #
 #   Copyright (c) 2009 Oren Ben-Kiki <oren@ben-kiki.org>
+#   Copyright (c) 2015 Olaf Mandel <olaf@mandel.name>
 #
 #   Copying and distribution of this file, with or without modification, are
 #   permitted in any medium without royalty provided the copyright notice
 #   and this notice are preserved. This file is offered as-is, without any
 #   warranty.
 
-#serial 12
+#serial 18
 
 ## ----------##
 ## Defaults. ##
@@ -278,8 +121,14 @@  AC_DEFUN([DX_FEATURE_ps],   ON)
 
 # DX_ENV_APPEND(VARIABLE, VALUE)
 # ------------------------------
-# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.
-AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])
+# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen and add it
+# as a substitution (but not a Makefile variable). The substitution
+# is skipped if the variable name is VERSION.
+AC_DEFUN([DX_ENV_APPEND],
+[AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])dnl
+m4_if([$1], [VERSION], [], [AC_SUBST([$1], [$2])dnl
+AM_SUBST_NOTMAKE([$1])])dnl
+])
 
 # DX_DIRNAME_EXPR
 # ---------------
@@ -364,7 +213,6 @@  if DX_TEST_FEATURE([$1]); then
     $5
     :
 fi
-AM_CONDITIONAL(DX_COND_$1, DX_TEST_FEATURE([$1]))
 if DX_TEST_FEATURE([$1]); then
     $6
     :
@@ -392,23 +240,38 @@  AC_DEFUN([DX_XML_FEATURE],     [AC_DEFUN([DX_FEATURE_xml],  [$1])])
 AC_DEFUN([DX_PDF_FEATURE],     [AC_DEFUN([DX_FEATURE_pdf],  [$1])])
 AC_DEFUN([DX_PS_FEATURE],      [AC_DEFUN([DX_FEATURE_ps],   [$1])])
 
-# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])
-# ---------------------------------------------------------
+# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR], ...)
+# --------------------------------------------------------------
 # PROJECT also serves as the base name for the documentation files.
-# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".
+# The default CONFIG-FILE is "$(srcdir)/Doxyfile" and OUTPUT-DOC-DIR is
+# "doxygen-doc".
+# More arguments are interpreted as interleaved CONFIG-FILE and
+# OUTPUT-DOC-DIR values.
 AC_DEFUN([DX_INIT_DOXYGEN], [
 
 # Files:
 AC_SUBST([DX_PROJECT], [$1])
-AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])
-AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])
+AC_SUBST([DX_CONFIG], ['ifelse([$2], [], [$(srcdir)/Doxyfile], [$2])'])
+AC_SUBST([DX_DOCDIR], ['ifelse([$3], [], [doxygen-doc], [$3])'])
+m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 4, m4_count($@), 2,
+      [AC_SUBST([DX_CONFIG]m4_eval(DX_i[/2]),
+                'm4_default_nblank_quoted(m4_argn(DX_i, $@),
+                                          [$(srcdir)/Doxyfile])')])])dnl
+m4_if(m4_eval(3 < m4_count($@)), 1, [m4_for([DX_i], 5, m4_count($@,), 2,
+      [AC_SUBST([DX_DOCDIR]m4_eval([(]DX_i[-1)/2]),
+                'm4_default_nblank_quoted(m4_argn(DX_i, $@),
+                                          [doxygen-doc])')])])dnl
+m4_define([DX_loop], m4_dquote(m4_if(m4_eval(3 < m4_count($@)), 1,
+          [m4_for([DX_i], 4, m4_count($@), 2, [, m4_eval(DX_i[/2])])],
+          [])))dnl
 
 # Environment variables used inside doxygen.cfg:
 DX_ENV_APPEND(SRCDIR, $srcdir)
-DX_ENV_APPEND(PROJECT, $DX_PROJECT)
-DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)
+DX_ENV_APPEND(BUILDDIR, $builddir)
 DX_ENV_APPEND(VERSION, $VERSION)
 DX_ENV_APPEND(WITH_PLATFORM, $with_platform)
+DX_ENV_APPEND(PROJECT, $DX_PROJECT)
+DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)
 
 # Doxygen itself:
 DX_ARG_ABLE(doc, [generate any doxygen documentation],
@@ -495,7 +358,6 @@  DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],
              DX_REQUIRE_PROG([DX_EGREP], egrep)])
 
 # LaTeX generation for PS and/or PDF:
-AM_CONDITIONAL(DX_COND_latex, DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf))
 if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then
     DX_ENV_APPEND(GENERATE_LATEX, YES)
 else
@@ -518,11 +380,226 @@  a4wide|a4|letter|legal|executive)
 ;;
 esac
 
+# Rules:
+if test $DX_FLAG_html -eq 1; then
+    DX_SNIPPET_html="## ------------------------------- ##
+## Rules specific for HTML output. ##
+## ------------------------------- ##
+
+DX_CLEAN_HTML = \$(DX_DOCDIR)/html[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+                \$(DX_DOCDIR]DX_i[)/html]])
+
+"
+else
+    DX_SNIPPET_html=""
+fi
+if test $DX_FLAG_chi -eq 1; then
+    DX_SNIPPET_chi="
+DX_CLEAN_CHI = \$(DX_DOCDIR)/\$(PACKAGE).chi[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).chi]])"
+else
+    DX_SNIPPET_chi=""
+fi
+if test $DX_FLAG_chm -eq 1; then
+    DX_SNIPPET_chm="## ------------------------------ ##
+## Rules specific for CHM output. ##
+## ------------------------------ ##
+
+DX_CLEAN_CHM = \$(DX_DOCDIR)/chm[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+               \$(DX_DOCDIR]DX_i[)/chm]])\
+${DX_SNIPPET_chi}
+
+"
+else
+    DX_SNIPPET_chm=""
+fi
+if test $DX_FLAG_man -eq 1; then
+    DX_SNIPPET_man="## ------------------------------ ##
+## Rules specific for MAN output. ##
+## ------------------------------ ##
+
+DX_CLEAN_MAN = \$(DX_DOCDIR)/man[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+               \$(DX_DOCDIR]DX_i[)/man]])
+
+"
+else
+    DX_SNIPPET_man=""
+fi
+if test $DX_FLAG_rtf -eq 1; then
+    DX_SNIPPET_rtf="## ------------------------------ ##
+## Rules specific for RTF output. ##
+## ------------------------------ ##
+
+DX_CLEAN_RTF = \$(DX_DOCDIR)/rtf[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+               \$(DX_DOCDIR]DX_i[)/rtf]])
+
+"
+else
+    DX_SNIPPET_rtf=""
+fi
+if test $DX_FLAG_xml -eq 1; then
+    DX_SNIPPET_xml="## ------------------------------ ##
+## Rules specific for XML output. ##
+## ------------------------------ ##
+
+DX_CLEAN_XML = \$(DX_DOCDIR)/xml[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+               \$(DX_DOCDIR]DX_i[)/xml]])
+
+"
+else
+    DX_SNIPPET_xml=""
+fi
+if test $DX_FLAG_ps -eq 1; then
+    DX_SNIPPET_ps="## ----------------------------- ##
+## Rules specific for PS output. ##
+## ----------------------------- ##
+
+DX_CLEAN_PS = \$(DX_DOCDIR)/\$(PACKAGE).ps[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+              \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps]])
+
+DX_PS_GOAL = doxygen-ps
+
+doxygen-ps: \$(DX_CLEAN_PS)
+
+m4_foreach([DX_i], [DX_loop],
+[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).ps: \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag
+	\$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\
+	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\
+	\$(DX_LATEX) refman.tex; \\
+	\$(DX_MAKEINDEX) refman.idx; \\
+	\$(DX_LATEX) refman.tex; \\
+	countdown=5; \\
+	while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \\
+	                  refman.log > /dev/null 2>&1 \\
+	   && test \$\$countdown -gt 0; do \\
+	    \$(DX_LATEX) refman.tex; \\
+            countdown=\`expr \$\$countdown - 1\`; \\
+	done; \\
+	\$(DX_DVIPS) -o ../\$(PACKAGE).ps refman.dvi
+
+]])dnl
+"
+else
+    DX_SNIPPET_ps=""
+fi
+if test $DX_FLAG_pdf -eq 1; then
+    DX_SNIPPET_pdf="## ------------------------------ ##
+## Rules specific for PDF output. ##
+## ------------------------------ ##
+
+DX_CLEAN_PDF = \$(DX_DOCDIR)/\$(PACKAGE).pdf[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+               \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf]])
+
+DX_PDF_GOAL = doxygen-pdf
+
+doxygen-pdf: \$(DX_CLEAN_PDF)
+
+m4_foreach([DX_i], [DX_loop],
+[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).pdf: \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag
+	\$(DX_V_LATEX)cd \$(DX_DOCDIR]DX_i[)/latex; \\
+	rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \\
+	\$(DX_PDFLATEX) refman.tex; \\
+	\$(DX_MAKEINDEX) refman.idx; \\
+	\$(DX_PDFLATEX) refman.tex; \\
+	countdown=5; \\
+	while \$(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \\
+	                  refman.log > /dev/null 2>&1 \\
+	   && test \$\$countdown -gt 0; do \\
+	    \$(DX_PDFLATEX) refman.tex; \\
+	    countdown=\`expr \$\$countdown - 1\`; \\
+	done; \\
+	mv refman.pdf ../\$(PACKAGE).pdf
+
+]])dnl
+"
+else
+    DX_SNIPPET_pdf=""
+fi
+if test $DX_FLAG_ps -eq 1 -o $DX_FLAG_pdf -eq 1; then
+    DX_SNIPPET_latex="## ------------------------------------------------- ##
+## Rules specific for LaTeX (shared for PS and PDF). ##
+## ------------------------------------------------- ##
+
+DX_V_LATEX = \$(_DX_v_LATEX_\$(V))
+_DX_v_LATEX_ = \$(_DX_v_LATEX_\$(AM_DEFAULT_VERBOSITY))
+_DX_v_LATEX_0 = @echo \"  LATEX \" \$[]][[]@;
+
+DX_CLEAN_LATEX = \$(DX_DOCDIR)/latex[]dnl
+m4_foreach([DX_i], [m4_shift(DX_loop)], [[\\
+                 \$(DX_DOCDIR]DX_i[)/latex]])
+
+"
+else
+    DX_SNIPPET_latex=""
+fi
+
+if test $DX_FLAG_doc -eq 1; then
+    DX_SNIPPET_doc="## --------------------------------- ##
+## Format-independent Doxygen rules. ##
+## --------------------------------- ##
+
+${DX_SNIPPET_html}\
+${DX_SNIPPET_chm}\
+${DX_SNIPPET_man}\
+${DX_SNIPPET_rtf}\
+${DX_SNIPPET_xml}\
+${DX_SNIPPET_ps}\
+${DX_SNIPPET_pdf}\
+${DX_SNIPPET_latex}\
+DX_V_DXGEN = \$(_DX_v_DXGEN_\$(V))
+_DX_v_DXGEN_ = \$(_DX_v_DXGEN_\$(AM_DEFAULT_VERBOSITY))
+_DX_v_DXGEN_0 = @echo \"  DXGEN \" \$<;
+
+.PHONY: doxygen-run doxygen-doc \$(DX_PS_GOAL) \$(DX_PDF_GOAL)
+
+.INTERMEDIATE: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)
+
+doxygen-run:[]m4_foreach([DX_i], [DX_loop],
+                         [[ \$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag]])
+
+doxygen-doc: doxygen-run \$(DX_PS_GOAL) \$(DX_PDF_GOAL)
+
+m4_foreach([DX_i], [DX_loop],
+[[\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag: \$(DX_CONFIG]DX_i[) \$(pkginclude_HEADERS)
+	\$(A""M_V_at)rm -rf \$(DX_DOCDIR]DX_i[)
+	\$(DX_V_DXGEN)\$(DX_ENV) DOCDIR=\$(DX_DOCDIR]DX_i[) \$(DX_DOXYGEN) \$(DX_CONFIG]DX_i[)
+	\$(A""M_V_at)echo Timestamp >\$][@
+
+]])dnl
+DX_CLEANFILES = \\
+m4_foreach([DX_i], [DX_loop],
+[[	\$(DX_DOCDIR]DX_i[)/\$(PACKAGE).tag \\
+]])dnl
+	-r \\
+	\$(DX_CLEAN_HTML) \\
+	\$(DX_CLEAN_CHM) \\
+	\$(DX_CLEAN_CHI) \\
+	\$(DX_CLEAN_MAN) \\
+	\$(DX_CLEAN_RTF) \\
+	\$(DX_CLEAN_XML) \\
+	\$(DX_CLEAN_PS) \\
+	\$(DX_CLEAN_PDF) \\
+	\$(DX_CLEAN_LATEX)"
+else
+    DX_SNIPPET_doc=""
+fi
+AC_SUBST([DX_RULES],
+["${DX_SNIPPET_doc}"])dnl
+AM_SUBST_NOTMAKE([DX_RULES])
+
 #For debugging:
-#echo DX_FLAG_doc=$DX_FLAG_doc
+echo DX_FLAG_doc=$DX_FLAG_doc
 #echo DX_FLAG_dot=$DX_FLAG_dot
 #echo DX_FLAG_man=$DX_FLAG_man
-#echo DX_FLAG_html=$DX_FLAG_html
+echo DX_FLAG_html=$DX_FLAG_html
 #echo DX_FLAG_chm=$DX_FLAG_chm
 #echo DX_FLAG_chi=$DX_FLAG_chi
 #echo DX_FLAG_rtf=$DX_FLAG_rtf
@@ -530,4 +607,4 @@  esac
 #echo DX_FLAG_pdf=$DX_FLAG_pdf
 #echo DX_FLAG_ps=$DX_FLAG_ps
 #echo DX_ENV=$DX_ENV
-])
+])
\ No newline at end of file