* doc/Doxyfile.in: Switch settings to generate the user documentation. * doc/Makefile.am (edit_user): Remove variable. (edit_devel): New variable. ($(DOXYFILE_USER)): Generate it directly from $(srcdir)/$(DOXYFILE).in. ($(DOXYFILE_DEVEL)): Adjust to use edit_devel. --- milena/ChangeLog | 12 ++++++++++++ milena/doc/Doxyfile.in | 26 +++++++++++++------------- milena/doc/Makefile.am | 46 ++++++++++++++++++++++------------------------ 3 files changed, 47 insertions(+), 37 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog index 00c949c..aa13460 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,5 +1,17 @@ 2010-03-08 Roland Levillain roland@lrde.epita.fr
+ Have Doxyfile.in generate the user documentation. + + * doc/Doxyfile.in: Switch settings to generate the user + documentation. + * doc/Makefile.am (edit_user): Remove variable. + (edit_devel): New variable. + ($(DOXYFILE_USER)): Generate it directly from + $(srcdir)/$(DOXYFILE).in. + ($(DOXYFILE_DEVEL)): Adjust to use edit_devel. + +2010-03-08 Roland Levillain roland@lrde.epita.fr + Generate the HTML and LaTeX Doxygen documentation in a single pass.
* doc/Doxyfile.in (GENERATE_LATEX): Enable. diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in index 505480a..a8c3400 100644 --- a/milena/doc/Doxyfile.in +++ b/milena/doc/Doxyfile.in @@ -21,8 +21,8 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = "Milena (@PACKAGE_NAME@)" -PROJECT_NUMBER = "@PACKAGE_VERSION@ @ID@" -OUTPUT_DIRECTORY = @srcdir@/devel/ +PROJECT_NUMBER = "User documentation @PACKAGE_VERSION@ @ID@" +OUTPUT_DIRECTORY = @srcdir@/user/ CREATE_SUBDIRS = YES OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES @@ -50,16 +50,16 @@ SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -EXTRACT_ALL = YES -EXTRACT_PRIVATE = YES -EXTRACT_STATIC = YES -EXTRACT_LOCAL_CLASSES = YES +EXTRACT_ALL = NO +EXTRACT_PRIVATE = NO +EXTRACT_STATIC = NO +EXTRACT_LOCAL_CLASSES = NO EXTRACT_LOCAL_METHODS = NO -HIDE_UNDOC_MEMBERS = NO -HIDE_UNDOC_CLASSES = NO -HIDE_FRIEND_COMPOUNDS = NO -HIDE_IN_BODY_DOCS = NO -INTERNAL_DOCS = YES +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = YES +HIDE_IN_BODY_DOCS = YES +INTERNAL_DOCS = NO CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO SHOW_INCLUDE_FILES = YES @@ -67,7 +67,7 @@ INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = YES SORT_BY_SCOPE_NAME = YES -GENERATE_TODOLIST = YES +GENERATE_TODOLIST = NO GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES GENERATE_DEPRECATEDLIST= YES @@ -108,7 +108,7 @@ EXCLUDE = @top_srcdir@/milena/sandbox \ @top_srcdir@/milena/tests/unit_test EXCLUDE_SYMLINKS = YES EXCLUDE_PATTERNS = *spe.hh -EXCLUDE_SYMBOLS = +EXCLUDE_SYMBOLS = *::internal* *_ mln::trait::* EXAMPLE_PATH = @top_srcdir@/milena/doc/examples \ @top_srcdir@/milena/doc/outputs \ @top_srcdir@/milena/doc/examples/split \ diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am index b37044f..1126881 100644 --- a/milena/doc/Makefile.am +++ b/milena/doc/Makefile.am @@ -343,24 +343,20 @@ edit = sed -e "s|@ID@|$$Id|" \ -e 's,@srcdir@,$(srcdir),g' \ -e 's,@builddir@,$(builddir),g'
-# FIXME: This is not good. We should set these parameters for both -# documentation (devel and user) using @VARIABLES@. Don't generate -# Doxyfile_user_html from Doxyfile_devel_html! Both should be a product -# derived from a single source, Doxyfile.in. -edit_user = sed \ - -e 's,OUTPUT_DIRECTORY = @srcdir@/devel/,OUTPUT_DIRECTORY = @srcdir@/user/,g' \ - -e 's,EXTRACT_ALL = YES,EXTRACT_ALL = NO,g' \ - -e 's,EXTRACT_PRIVATE = YES,EXTRACT_PRIVATE = NO,g' \ - -e 's,EXTRACT_STATIC = YES,EXTRACT_STATIC = NO,g' \ - -e 's,EXTRACT_LOCAL_CLASSES = YES,EXTRACT_LOCAL_CLASSES = NO,g' \ - -e 's,HIDE_UNDOC_MEMBERS = NO,HIDE_UNDOC_MEMBERS = YES,g' \ - -e 's,HIDE_UNDOC_CLASSES = NO,HIDE_UNDOC_CLASSES = YES,g' \ - -e 's,HIDE_FRIEND_COMPOUNDS = NO,HIDE_FRIEND_COMPOUNDS = YES,g' \ - -e 's,HIDE_IN_BODY_DOCS = NO,HIDE_IN_BODY_DOCS = YES,g' \ - -e 's,INTERNAL_DOCS = YES,INTERNAL_DOCS = NO,g' \ - -e 's,GENERATE_TODOLIST = YES,GENERATE_TODOLIST = NO,g' \ - -e 's,PROJECT_NUMBER = ",PROJECT_NUMBER = "User documentation ,g' \ - -e 's,EXCLUDE_SYMBOLS =,EXCLUDE_SYMBOLS = *::internal* *_ mln::trait::*,g' +edit_devel = sed \ + -e 's,OUTPUT_DIRECTORY = @srcdir@/user/,OUTPUT_DIRECTORY = @srcdir@/devel/,' \ + -e 's,EXTRACT_ALL = NO,EXTRACT_ALL = YES,' \ + -e 's,EXTRACT_PRIVATE = NO,EXTRACT_PRIVATE = YES,' \ + -e 's,EXTRACT_STATIC = NO,EXTRACT_STATIC = YES,' \ + -e 's,EXTRACT_LOCAL_CLASSES = NO,EXTRACT_LOCAL_CLASSES = YES,' \ + -e 's,HIDE_UNDOC_MEMBERS = YES,HIDE_UNDOC_MEMBERS = NO,' \ + -e 's,HIDE_UNDOC_CLASSES = YES,HIDE_UNDOC_CLASSES = NO,' \ + -e 's,HIDE_FRIEND_COMPOUNDS = YES,HIDE_FRIEND_COMPOUNDS = NO,' \ + -e 's,HIDE_IN_BODY_DOCS = YES,HIDE_IN_BODY_DOCS = NO,' \ + -e 's,INTERNAL_DOCS = NO,INTERNAL_DOCS = YES,' \ + -e 's,GENERATE_TODOLIST = NO,GENERATE_TODOLIST = YES,' \ + -e 's,PROJECT_NUMBER = "User documentation ,PROJECT_NUMBER = ",' \ + -e 's,EXCLUDE_SYMBOLS = *::internal* *_ mln::trait::*,EXCLUDE_SYMBOLS =,'
# Sed is used to generate Doxyfile from Doxyfile.in instead of # configure, because the former is way faster than the latter. @@ -370,14 +366,16 @@ edit_user = sed \ ## change. See Bison's build system. ## ## FIXME: Move these rules higher, closer to their use sites. -## -## FIXME: It'd be more logical to generate $(DOXYFILE_DEVEL) from -## $(DOXYFILE_USER), not the reverse.
-$(DOXYFILE_USER): $(DOXYFILE_DEVEL) - $(edit_user) $< >$@ +$(DOXYFILE_USER): $(srcdir)/$(DOXYFILE).in + Id=`grep '^$$Id' $(top_srcdir)/milena/ChangeLog \ + | sed -e 's/\$$//g'`; \ + $(edit) $< >$@
$(DOXYFILE_DEVEL): $(srcdir)/$(DOXYFILE).in + rm -f $@.tmp Id=`grep '^$$Id' $(top_srcdir)/milena/ChangeLog \ | sed -e 's/\$$//g'`; \ - $(edit) $< >$@ + $(edit) $< >$@.tmp + $(edit_devel) $@.tmp >$@ + rm -f $@.tmp