Yes, I'm vanilla Ubuntu 15.10 On Mon, Feb 15, 2016 at 7:12 AM, Mike Holmes <mike.hol...@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.fischo...@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.hol...@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.hol...@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 <o...@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 <o...@ben-kiki.org> >>> +# Copyright (c) 2015 Olaf Mandel <o...@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" > > >
_______________________________________________ lng-odp mailing list lng-odp@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lng-odp