* 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 ff3af38..e906a63 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,17 @@
2010-03-08 Roland Levillain <roland(a)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(a)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
--
1.5.6.5