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 <[email protected]> wrote: > Yes, I'm vanilla Ubuntu 15.10 > > On Mon, Feb 15, 2016 at 7:12 AM, Mike Holmes <[email protected]> > 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 <[email protected]> >> 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 <[email protected]> >>> 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 <[email protected]> >>>> --- >>>> 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 <[email protected]> >>>> -# >>>> -# 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@/@[email protected] >>>> - >>>> -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@/@[email protected] >>>> - >>>> -DX_PS_GOAL = doxygen-ps >>>> - >>>> -doxygen-ps: @DX_DOCDIR@/@[email protected] >>>> - >>>> -@DX_DOCDIR@/@[email protected]: @DX_DOCDIR@/@[email protected] >>>> - 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 ../@[email protected] refman.dvi >>>> - >>>> -endif DX_COND_ps >>>> - >>>> -## ------------------------------ ## >>>> -## Rules specific for PDF output. ## >>>> -## ------------------------------ ## >>>> - >>>> -if DX_COND_pdf >>>> - >>>> -DX_CLEAN_PDF = @DX_DOCDIR@/@[email protected] >>>> - >>>> -DX_PDF_GOAL = doxygen-pdf >>>> - >>>> -doxygen-pdf: @DX_DOCDIR@/@[email protected] >>>> - >>>> -@DX_DOCDIR@/@[email protected]: @DX_DOCDIR@/@[email protected] >>>> - 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 ../@[email protected] >>>> - >>>> -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@/@[email protected] >>>> - >>>> -doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL) >>>> - >>>> -@DX_DOCDIR@/@[email protected]: $(DX_CONFIG) $(pkginclude_HEADERS) >>>> - rm -rf @DX_DOCDIR@ >>>> - make --directory=$(srcdir)/doc/images >>>> - $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG) >>>> - >>>> -DX_CLEANFILES = \ >>>> - @DX_DOCDIR@/@[email protected] \ >>>> - -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@/@[email protected] >>>> -# >>>> -# 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@/@[email protected] >>>> -# >>>> -# DX_PS_GOAL = doxygen-ps >>>> -# >>>> -# doxygen-ps: @DX_DOCDIR@/@[email protected] >>>> -# >>>> -# @DX_DOCDIR@/@[email protected]: @DX_DOCDIR@/@[email protected] >>>> -# 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 ../@[email protected] refman.dvi >>>> -# >>>> -# endif DX_COND_ps >>>> -# >>>> -# ## ------------------------------ ## >>>> -# ## Rules specific for PDF output. ## >>>> -# ## ------------------------------ ## >>>> -# >>>> -# if DX_COND_pdf >>>> -# >>>> -# DX_CLEAN_PDF = @DX_DOCDIR@/@[email protected] >>>> -# >>>> -# DX_PDF_GOAL = doxygen-pdf >>>> -# >>>> -# doxygen-pdf: @DX_DOCDIR@/@[email protected] >>>> -# >>>> -# @DX_DOCDIR@/@[email protected]: @DX_DOCDIR@/@[email protected] >>>> -# 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 ../@[email protected] >>>> -# >>>> -# 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@/@[email protected] >>>> -# >>>> -# doxygen-doc: doxygen-html $(DX_PS_GOAL) $(DX_PDF_GOAL) >>>> -# >>>> -# @DX_DOCDIR@/@[email protected]: $(DX_CONFIG) $(pkginclude_HEADERS) >>>> -# rm -rf @DX_DOCDIR@ >>>> -# $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG) >>>> -# >>>> -# DX_CLEANFILES = \ >>>> -# @DX_DOCDIR@/@[email protected] \ >>>> -# -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 <[email protected]> >>>> +# Copyright (c) 2015 Olaf Mandel <[email protected]> >>>> # >>>> # 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 >>>> [email protected] >>>> 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"
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
