* doc/Doxyfile.in (GENERATE_LATEX): Enable.
(EXCLUDE): Adjust.
* doc/Makefile.am (ref-doc-html, ref-doc-devel-html):
Remove (phony) targets.
(ref-doc, ref-doc-devel):
New (phony) targets.
(doc-html, doc-devel-html):
Adjust targets.
(DOXYFILE_USER_PDF, DOXYFILE_USER_HTML)
(DOXYFILE_DEVEL_PDF, DOXYFILE_DEVEL_HTML):
Remove variables.
(DOXYFILE_USER_PDF, DOXYFILE_DEVEL):
New variables.
(USER_REFMAN_LATEX, USER_REFMAN_HTML)
(DEVEL_REFMAN_LATEX, DEVEL_REFMAN_HTML):
Remove variables.
(USER_REFMAN): New variable.
(all-local): Adjust.
($(srcdir)/user-refman-latex.stamp)
($(srcdir)/$(USER_REFMAN_LATEX))
($(srcdir)/user-refman-html.stamp)
($(srcdir)/$(USER_REFMAN_HTML))
($(srcdir)/devel-refman-latex.stamp)
($(srcdir)/$(DEVEL_REFMAN_LATEX))
($(srcdir)/devel-refman-html.stamp)
($(srcdir)/$(DEVEL_REFMAN_HTML)):
Remove targets.
($(srcdir)/user-refman.stamp)
($(srcdir)/$(USER_REFMAN))
($(srcdir)/devel-refman.stamp)
($(srcdir)/$(DEVEL_REFMAN)):
New targets.
($(srcdir)/$(USER_REFMAN_PDF), $(srcdir)/$(DEVEL_REFMAN_PDF)):
Adjust targets.
(regen-doc, regen-devel-doc): New (phony) targets.
(clean-user-refman-latex, clean-user-refman-html)
(clean-devel-refman-latex, clean-devel-refman-html):
Remove (phony) targets.
(maintainer-clean-local): Adjust.
(edit_pdf): Remove variable.
(EXTRA_DIST): Remove $(USER_REFMAN_HTML).
Add $(USER_REFMAN)/html.
(install-data-local, uninstall-local): Adjust.
(CLEANFILES): Remove Doxyfile_user, Doxyfile_user_pdf,
Doxyfile_devel, Doxyfile_devel_pdf, devel and user.
(MAINTAINERCLEANFILES): Add Doxyfile_user and Doxyfile_devel.
($(DOXYFILE_USER_PDF), $(DOXYFILE_USER_HTML))
($(DOXYFILE_DEVEL_PDF), $(DOXYFILE_DEVEL_HTML)):
Remove targets.
($(DOXYFILE_USER), $(DOXYFILE_DEVEL)):
New targets.
---
milena/ChangeLog | 56 +++++++++
milena/doc/.gitignore | 8 +-
milena/doc/Doxyfile.in | 8 +-
milena/doc/Makefile.am | 322 +++++++++++++++++-------------------------------
4 files changed, 176 insertions(+), 218 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index b32170e..00c949c 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,61 @@
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.
+ (EXCLUDE): Adjust.
+ * doc/Makefile.am (ref-doc-html, ref-doc-devel-html):
+ Remove (phony) targets.
+ (ref-doc, ref-doc-devel):
+ New (phony) targets.
+ (doc-html, doc-devel-html):
+ Adjust targets.
+ (DOXYFILE_USER_PDF, DOXYFILE_USER_HTML)
+ (DOXYFILE_DEVEL_PDF, DOXYFILE_DEVEL_HTML):
+ Remove variables.
+ (DOXYFILE_USER_PDF, DOXYFILE_DEVEL):
+ New variables.
+ (USER_REFMAN_LATEX, USER_REFMAN_HTML)
+ (DEVEL_REFMAN_LATEX, DEVEL_REFMAN_HTML):
+ Remove variables.
+ (USER_REFMAN): New variable.
+ (all-local): Adjust.
+ ($(srcdir)/user-refman-latex.stamp)
+ ($(srcdir)/$(USER_REFMAN_LATEX))
+ ($(srcdir)/user-refman-html.stamp)
+ ($(srcdir)/$(USER_REFMAN_HTML))
+ ($(srcdir)/devel-refman-latex.stamp)
+ ($(srcdir)/$(DEVEL_REFMAN_LATEX))
+ ($(srcdir)/devel-refman-html.stamp)
+ ($(srcdir)/$(DEVEL_REFMAN_HTML)):
+ Remove targets.
+ ($(srcdir)/user-refman.stamp)
+ ($(srcdir)/$(USER_REFMAN))
+ ($(srcdir)/devel-refman.stamp)
+ ($(srcdir)/$(DEVEL_REFMAN)):
+ New targets.
+ ($(srcdir)/$(USER_REFMAN_PDF), $(srcdir)/$(DEVEL_REFMAN_PDF)):
+ Adjust targets.
+ (regen-doc, regen-devel-doc): New (phony) targets.
+ (clean-user-refman-latex, clean-user-refman-html)
+ (clean-devel-refman-latex, clean-devel-refman-html):
+ Remove (phony) targets.
+ (maintainer-clean-local): Adjust.
+ (edit_pdf): Remove variable.
+ (EXTRA_DIST): Remove $(USER_REFMAN_HTML).
+ Add $(USER_REFMAN)/html.
+ (install-data-local, uninstall-local): Adjust.
+ (CLEANFILES): Remove Doxyfile_user, Doxyfile_user_pdf,
+ Doxyfile_devel, Doxyfile_devel_pdf, devel and user.
+ (MAINTAINERCLEANFILES): Add Doxyfile_user and Doxyfile_devel.
+ ($(DOXYFILE_USER_PDF), $(DOXYFILE_USER_HTML))
+ ($(DOXYFILE_DEVEL_PDF), $(DOXYFILE_DEVEL_HTML)):
+ Remove targets.
+ ($(DOXYFILE_USER), $(DOXYFILE_DEVEL)):
+ New targets.
+
+2010-03-08 Roland Levillain <roland(a)lrde.epita.fr>
+
Shorten the list of files visited by Doxygen.
* doc/Doxyfile.in (STRIP_FROM_PATH, INPUT, IMAGE_PATH):
diff --git a/milena/doc/.gitignore b/milena/doc/.gitignore
index 8670dd7..4b96d25 100644
--- a/milena/doc/.gitignore
+++ b/milena/doc/.gitignore
@@ -1,9 +1,11 @@
/Doxyfile_devel
-/Doxyfile_devel_pdf
/Doxyfile_user
-/Doxyfile_user_pdf
/devel
+/devel-refman
+/devel-refman.pdf
/user
+/user-refman
+/user-refman.pdf
/figures/*.png
/ref_guide/ref_guide.haux
/ref_guide/ref_guide.hh
@@ -21,8 +23,6 @@
/tutorial/tutorial.hh-e
/tutorial/tutorial.html
/tutorial/tutorial.pdf
-/user-refman-html
-/user-refman.pdf
/white_paper/figures/house.eps
/white_paper/figures/house_rag.eps
/white_paper/figures/house_wshed.eps
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index e8f06cb..505480a 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -102,11 +102,9 @@ EXCLUDE = @top_srcdir@/milena/sandbox \
@top_srcdir@/milena/mln/core/concept/proxy.hxx \
@top_srcdir@/milena/doc/examples/trash \
@top_srcdir@/milena/doc/user \
- @top_srcdir@/milena/doc/user-refman-html \
- @top_srcdir@/milena/doc/user-refman-latex \
+ @top_srcdir@/milena/doc/user-refman
@top_srcdir@/milena/doc/devel \
- @top_srcdir@/milena/doc/devel-refman-html \
- @top_srcdir@/milena/doc/devel-refman-latex \
+ @top_srcdir@/milena/doc/devel-refman
@top_srcdir@/milena/tests/unit_test
EXCLUDE_SYMLINKS = YES
EXCLUDE_PATTERNS = *spe.hh
@@ -167,7 +165,7 @@ TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
+GENERATE_LATEX = YES
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 3d5f4d9..b37044f 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -35,8 +35,8 @@ CLEANFILES =
.PHONY: doc \
doc-user doc-devel \
doc-pdf doc-html doc-devel-pdf doc-devel-html \
- ref-doc-pdf ref-doc-html \
- ref-doc-devel-pdf ref-doc-devel-html
+ ref-doc ref-doc-pdf \
+ ref-doc-devel ref-doc-devel-pdf
doc: doc-user doc-devel
@@ -45,12 +45,12 @@ doc-devel: doc-devel-pdf doc-devel-html
doc-pdf: tutorial-pdf white-paper-pdf ref-guide-pdf ref-doc-pdf
-doc-html: tutorial-html white-paper-html ref-guide-html ref-doc-html
+doc-html: tutorial-html white-paper-html ref-guide-html ref-doc
doc-devel-pdf: tutorial-pdf ref-guide-pdf white-paper-pdf ref-doc-devel-pdf
doc-devel-html: tutorial-html ref-guide-html white-paper-html \
- ref-doc-devel-html
+ ref-doc-devel
## -------------------------------------------------- ##
@@ -65,204 +65,127 @@ EXTRA_DEPS = $(srcdir)/tutorial/tutorial.hh
$(srcdir)/ref_guide/ref_guide.hh
## Doxygen documentation. ##
## ----------------------- ##
-## FIXME: We should use a stamp file and generate the documentation in
-## a temporary directory in the _build_ tree, then copy it into a
-## directory of the _source_ tree. See how this is implemented in
-## Vaucanson's doc build system. (Do not forget to adjust Doxyfiles.)
+# ----------------------- #
+# User reference manual. #
+# ----------------------- #
-# ----------------------------- #
-# User reference manual (PDF). #
-# ----------------------------- #
+all-local: $(srcdir)/$(USER_REFMAN) $(srcdir)/$(USER_REFMAN_PDF)
-# FIXME: Keep it or throw it away?
-all-local: $(srcdir)/$(USER_REFMAN_PDF)
+# Run "make regen-doc" to forcefully rebuild the Doxygen documentation.
+.PHONY: regen-doc
+regen-doc:
+ -rm -f $(srcdir)/user-refman.stamp
+ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/user-refman.stamp
-DOXYFILE_USER_PDF = Doxyfile_user_pdf
+DOXYFILE_USER = Doxyfile_user
## FIXME: Rename USER_REFMAN_PDF to something else?
USER_REFMAN_PDF = user-refman.pdf
## FIXME: Likewise?
-USER_REFMAN_LATEX = user-refman-latex
+USER_REFMAN = user-refman
ref-doc-pdf: $(srcdir)/$(USER_REFMAN_PDF)
+ref-doc: $(srcdir)/$(USER_REFMAN)
# FIXME: Use texi2dvi instead of Doxygen's generated Makefile?
# (The LaTeX to PDF rule could be factored using a suffix rule, as in
# LRDE's share/).
-$(srcdir)/$(USER_REFMAN_PDF): $(srcdir)/$(USER_REFMAN_LATEX)
- cd $(srcdir)/$(USER_REFMAN_LATEX) && $(MAKE) $(AM_MAKEFLAGS) pdf
- cp -f $(srcdir)/$(USER_REFMAN_LATEX)/refman.pdf $@
+$(srcdir)/$(USER_REFMAN_PDF): $(srcdir)/$(USER_REFMAN)
+ cd $(srcdir)/$(USER_REFMAN)/latex && $(MAKE) $(AM_MAKEFLAGS) pdf
+ cp -f $(srcdir)/$(USER_REFMAN)/latex/refman.pdf $@
-## FIXME: Use a variable instead of `$(srcdir)/user/latex'.
+## FIXME: Use a variable instead of `$(srcdir)/user' directly?
##
## FIXME: Are dependencies $(srcdir)/figures.stamp $(EXTRA_DEPS) set
## on the right rule? Does Doxygen make a copy of figures, or does it
## generate LaTeX inputs relying on the existence of such figures in
## the initial location? Investigate.
-$(srcdir)/user-refman-latex.stamp: $(srcdir)/$(DOXYFILE).in $(srcdir)/figures.stamp
$(EXTRA_DEPS)
+$(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(srcdir)/figures.stamp
$(EXTRA_DEPS)
@rm -f $@.tmp
@touch $@.tmp
- -rm -rf $(srcdir)/user/latex
- $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_USER_PDF)
- $(DOXYGEN) $(DOXYFILE_USER_PDF)
+ -rm -rf $(srcdir)/user
+ $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_USER)
+ $(DOXYGEN) $(DOXYFILE_USER)
## Doxygen may generate an incomplete output and exit with success!
## Check some files before deeming the output as acceptable.
test -f $(srcdir)/user/latex/refman.tex
- -rm -rf $(srcdir)/$(USER_REFMAN_LATEX)
-## FIXME: moving directories between file systems is not portable.
- mv $(srcdir)/user/latex $(srcdir)/$(USER_REFMAN_LATEX)
+ -rm -rf $(srcdir)/$(USER_REFMAN)
+## FIXME: Moving directories between file systems is not portable.
+ mv $(srcdir)/user $(srcdir)/$(USER_REFMAN)
@mv -f $@.tmp $@
-# FIXME: Probably superfluous. Should vanish when HTML and LaTeX
-# genarations are merged.
-$(srcdir)/$(USER_REFMAN_LATEX): $(srcdir)/user-refman-latex.stamp
+$(srcdir)/$(USER_REFMAN): $(srcdir)/user-refman.stamp
## Recover from the removal of $@
@if test -d $@; then :; else \
rm -f $<; \
$(MAKE) $(AM_MAKEFLAGS) $<; \
fi
-# Clean Doxygen products.
-.PHONY: clean-user-refman-latex
-clean-user-refman-latex:
- rm -rf $(srcdir)/user/latex $(srcdir)/$(USER_REFMAN_LATEX)
-
-# ------------------------------ #
-# User reference manual (HTML). #
-# ------------------------------ #
-
-# FIXME: Keep it or throw it away?
-all-local: $(srcdir)/user-refman-html.stamp
-
-# FIXME: Rename USER_REFMAN_HTML as DOCDIR_USER_HTML?
-USER_REFMAN_HTML = user-refman-html
+# ---------------------------- #
+# Developer reference manual. #
+# ---------------------------- #
-DOXYFILE_USER_HTML = Doxyfile_user_html
+# Run "make regen-devel-doc" to forcefully rebuild the Doxygen
+# developer documentation.
+.PHONY: regen-devel-doc
+regen-devel-doc:
+ -rm -f $(srcdir)/devel-refman.stamp
+ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/devel-refman.stamp
-ref-doc-html: $(srcdir)/$(USER_REFMAN_HTML)
-
-# FIXME: Use `$(USER_REFMAN_HTML).tmp' instead of `$(srcdir)/user/html'.
-$(srcdir)/user-refman-html.stamp: $(srcdir)/$(DOXYFILE).in $(srcdir)/figures.stamp
$(EXTRA_DEPS)
- @rm -f $@.tmp
- @touch $@.tmp
- -rm -rf $(srcdir)/user/html
- $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_USER_HTML)
- $(DOXYGEN) $(DOXYFILE_USER_HTML)
- -rm -rf $(srcdir)/$(USER_REFMAN_HTML)
-## FIXME: moving directories between file systems is not portable.
- mv $(srcdir)/user/html $(srcdir)/$(USER_REFMAN_HTML)
- @mv -f $@.tmp $@
-
-$(srcdir)/$(USER_REFMAN_HTML): $(srcdir)/user-refman-html.stamp
-## Recover from the removal of $@
- @if test -d $@; then :; else \
- rm -f $<; \
- $(MAKE) $(AM_MAKEFLAGS) $<; \
- fi
-
-# Clean Doxygen products.
-.PHONY: clean-user-refman-html
-clean-user-refman-html:
- rm -rf $(srcdir)/user/html $(srcdir)/$(USER_REFMAN_HTML)
-
-# ---------------------------------- #
-# Developer reference manual (PDF). #
-# ---------------------------------- #
-
-DOXYFILE_DEVEL_PDF = Doxyfile_devel_pdf
+DOXYFILE_DEVEL = Doxyfile_devel
## FIXME: Rename DEVEL_REFMAN_PDF to something else?
DEVEL_REFMAN_PDF = devel-refman-pdf
## FIXME: Likewise?
-DEVEL_REFMAN_LATEX = devel-refman-latex
+DEVEL_REFMAN = devel-refman
ref-doc-devel-pdf: $(srcdir)/$(DEVEL_REFMAN_PDF)
+ref-doc-devel: $(srcdir)/$(DEVEL_REFMAN)
+# Be warned, most LaTeX installations will not be able to compile the
+# PDF development documentation as-is, as TeX's default memory
+# capacities are usually too small to handle such a large document.
+#
## FIXME: Use texi2dvi instead of Doxygen's generated Makefile? (The
## LaTeX to PDF rule could be factored using a suffix rule, as in
## LRDE's share/).
-$(srcdir)/$(DEVEL_REFMAN_PDF): $(srcdir)/$(DEVEL_REFMAN_LATEX)
- cd $(srcdir)/$(DEVEL_REFMAN_LATEX) && $(MAKE) $(AM_MAKEFLAGS) pdf
- cp -f $(srcdir)/$(DEVEL_REFMAN_LATEX)/refman.pdf $@
+$(srcdir)/$(DEVEL_REFMAN_PDF): $(srcdir)/$(DEVEL_REFMAN)
+ cd $(srcdir)/$(DEVEL_REFMAN)/latex && $(MAKE) $(AM_MAKEFLAGS) pdf
+ cp -f $(srcdir)/$(DEVEL_REFMAN)/latex/refman.pdf $@
-## FIXME: Use a variable instead of `$(srcdir)/devel/latex'.
+## FIXME: Use a variable instead of `$(srcdir)/devel' directly?
##
## FIXME: Are dependencies $(srcdir)/figures.stamp $(EXTRA_DEPS) set
## on the right rule? Does Doxygen make a copy of figures, or does it
## generate LaTeX inputs relying on the existence of such figures in
## the initial location? Investigate.
-$(srcdir)/devel-refman-latex.stamp: $(srcdir)/$(DOXYFILE).in $(srcdir)/figures.stamp
$(EXTRA_DEPS)
+$(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(srcdir)/figures.stamp
$(EXTRA_DEPS)
@rm -f $@.tmp
@touch $@.tmp
- -rm -rf $(srcdir)/devel/latex
- $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_DEVEL_PDF)
- $(DOXYGEN) $(DOXYFILE_DEVEL_PDF)
+ -rm -rf $(srcdir)/devel
+ $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_DEVEL)
+ $(DOXYGEN) $(DOXYFILE_DEVEL)
## Doxygen may generate an incomplete output and exit with success!
## Check some files before deeming the output as acceptable.
test -f $(srcdir)/devel/latex/refman.tex
- -rm -rf $(srcdir)/$(DEVEL_REFMAN_LATEX)
-## FIXME: moving directories between file systems is not portable.
- mv $(srcdir)/devel/latex $(srcdir)/$(DEVEL_REFMAN_LATEX)
+ -rm -rf $(srcdir)/$(DEVEL_REFMAN)
+## FIXME: Moving directories between file systems is not portable.
+ mv $(srcdir)/devel $(srcdir)/$(DEVEL_REFMAN)
@mv -f $@.tmp $@
-# FIXME: Probably superfluous. Should vanish when HTML and LaTeX
-# genarations are merged.
-$(srcdir)/$(DEVEL_REFMAN_LATEX): $(srcdir)/devel-refman-latex.stamp
+$(srcdir)/$(DEVEL_REFMAN): $(srcdir)/devel-refman.stamp
## Recover from the removal of $@
@if test -d $@; then :; else \
rm -f $<; \
$(MAKE) $(AM_MAKEFLAGS) $<; \
fi
-# Clean Doxygen products.
-.PHONY: clean-devel-refman-latex
-clean-devel-refman-latex:
- rm -rf $(srcdir)/devel/latex $(srcdir)/$(DEVEL_REFMAN_LATEX)
-
-# ----------------------------------- #
-# Developer reference manual (HTML). #
-# ----------------------------------- #
-
-# FIXME: Rename DEVEL_REFMAN_HTML as DOCDIR_DEVEL_HTML?
-DEVEL_REFMAN_HTML = devel-refman-html
-
-DOXYFILE_DEVEL_HTML = Doxyfile_devel_html
-
-ref-doc-devel-html: $(srcdir)/$(DEVEL_REFMAN_HTML)
-
-# FIXME: Use `$(DEVEL_REFMAN_HTML).tmp' instead of `$(srcdir)/devel/html'.
-$(srcdir)/devel-refman-html.stamp: $(srcdir)/$(DOXYFILE).in $(srcdir)/figures.stamp
$(EXTRA_DEPS)
- @rm -f $@.tmp
- @touch $@.tmp
- -rm -rf $(srcdir)/devel/html
- $(MAKE) $(AM_MAKE_FLAGS) $(DOXYFILE_DEVEL_HTML)
- $(DOXYGEN) $(DOXYFILE_DEVEL_HTML)
- -rm -rf $(srcdir)/$(DEVEL_REFMAN_HTML)
-## FIXME: moving directories between file systems is not portable.
- mv $(srcdir)/devel/html $(srcdir)/$(DEVEL_REFMAN_HTML)
- @mv -f $@.tmp $@
-
-$(srcdir)/$(DEVEL_REFMAN_HTML): $(srcdir)/devel-refman-html.stamp
-## Recover from the removal of $@
- @if test -d $@; then :; else \
- rm -f $<; \
- $(MAKE) $(AM_MAKEFLAGS) $<; \
- fi
# Clean Doxygen products.
-.PHONY: clean-devel-refman-html
-clean-devel-refman-html:
- rm -rf $(srcdir)/devel/html $(srcdir)/$(DEVEL_REFMAN_HTML)
-
-# ---------- #
-# Cleaning. #
-# ---------- #
-
-maintainer-clean-local: clean-user-refman-latex clean-user-refman-html
-maintainer-clean-local: clean-devel-refman-latex clean-devel-refman-html
maintainer-clean-local:
- rm -rf $(srcdir)/user
- rm -rf $(srcdir)/devel
+ -rm -rf $(srcdir)/user $(srcdir)/$(USER_REFMAN)
+ -rm -rf $(srcdir)/devel $(srcdir)/$(DEVEL_REFMAN)
+
## ------------------------- ##
## Technical Documentation. ##
@@ -270,18 +193,21 @@ maintainer-clean-local:
include $(srcdir)/technical/technical.mk
+
## ---------- ##
## Tutorial. ##
## ---------- ##
include $(srcdir)/tutorial/tutorial.mk
+
## ------------- ##
## White Paper. ##
## ------------- ##
include $(srcdir)/white_paper/white_paper.mk
+
## ----------------- ##
## Reference Guide. ##
## ----------------- ##
@@ -289,6 +215,9 @@ include $(srcdir)/white_paper/white_paper.mk
include $(srcdir)/ref_guide/ref_guide.mk
+## --------- ##
+## Figures. ##
+## --------- ##
# Make sure the figures are the first files in EXTRA_DIST.
# Make the 'fake-doc' rule works correctly.
@@ -315,39 +244,6 @@ $(srcdir)/figures.stamp: $(FIGURES_SRCDIR)/*.p*m
mv -f $@.tmp $@
-edit = sed -e "s|@ID@|$$Id|" \
- -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
- -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
- -e 's,@top_srcdir\@,$(top_srcdir),g' \
- -e 's,@top_builddir\@,$(top_builddir),g' \
- -e 's,@srcdir\@,$(srcdir),g' \
- -e 's,@builddir\@,$(builddir),g'
-
-## FIXME: Instead of generating HTML and PDF (LaTeX actualy) output in
-## two passes, do it in a row. It will save us a lot of time.
-edit_pdf = sed -e 's,GENERATE_LATEX = NO,GENERATE_LATEX = YES,g' \
- -e 's,GENERATE_HTML = YES,GENERATE_HTML = NO,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'
-
-
## ---------- ##
## Examples. ##
## ---------- ##
@@ -384,21 +280,27 @@ include $(srcdir)/examples/examples.mk
include $(srcdir)/outputs/outputs.mk
+## -------------- ##
+## Installation. ##
+## -------------- ##
+
+# PDF.
dist_doc_DATA += $(USER_REFMAN_PDF)
+# HTML.
# Installing a directory located in the source dir is not supported by
-# Automake by default, so we cannot add `USER_REFMAN_HTML' to
+# Automake by default, so we cannot add `$(USER_REFMAN)/html' to
# `dist_doc_DATA'. The following two rules are are workaround from
# the Vaucanson project.
-EXTRA_DIST += $(USER_REFMAN_HTML)
+EXTRA_DIST += $(USER_REFMAN)/html
# We install by hand, otherwise Automake produces "install .../srcdoc
# .../srcdoc", which installs our dir into the previous one, instead
# of replacing it.
install-data-local:
- rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN_HTML)
+ rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN)/html
$(mkdir_p) $(DESTDIR)$(htmldir)
- cp -r $(srcdir)/$(USER_REFMAN_HTML) $(DESTDIR)$(htmldir)
+ cp -r $(srcdir)/$(USER_REFMAN)/html $(DESTDIR)$(htmldir)/user-refman
## Try GNU chmod's X mode before resorting to something slower but
## more standard.
chmod -R a+rX $(DESTDIR)$(htmldir) || \
@@ -406,18 +308,12 @@ install-data-local:
-o -exec chmod a+r {} \;
uninstall-local:
- chmod -R 700 $(DESTDIR)$(htmldir)/$(USER_REFMAN_HTML)
- rm -rf $(DESTDIR)$(htmldir)/$(USER_REFMAN_HTML)
+ chmod -R 700 $(DESTDIR)$(htmldir)/user-refman
+ rm -rf $(DESTDIR)$(htmldir)/user-refman
-## FIXME: These are now generated in the build directory.
-# EXTRA_DIST += \
-# Doxyfile_devel_html \
-# Doxyfile_devel_pdf \
-# Doxyfile_user_html \
-# Doxyfile_user_pdf
EXTRA_DIST += \
- $(DOXYFILE).in \
+ $(DOXYFILE).in \
groups/accu.hh \
groups/graph.hh \
groups/images.hh \
@@ -435,45 +331,53 @@ EXTRA_DIST += \
tools/split_sample.sh \
tools/todoxygen.sh
-## FIXME: Unsure about this. If the directory of the generated
-## documentation is to be removed during `maintainer-clean' (see
-## Vaucanson's doc/Makefile.am), then the source Doxyfiles should not
-## be removed earlier (i.e. at `clean') !
-##
-## Note: if configure is used to generate Doxyfiles (see below), these
-## files should be (and will be automatically) remove by `distclean'.
-CLEANFILES += \
+MAINTAINERCLEANFILES = \
Doxyfile_user \
- Doxyfile_user_pdf \
- Doxyfile_devel \
- Doxyfile_devel_pdf \
- devel \
- user
+ Doxyfile_devel
+
+edit = sed -e "s|@ID@|$$Id|" \
+ -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
+ -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
+ -e 's,@top_srcdir\@,$(top_srcdir),g' \
+ -e 's,@top_builddir\@,$(top_builddir),g' \
+ -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'
# Sed is used to generate Doxyfile from Doxyfile.in instead of
# configure, because the former is way faster than the latter.
#
## FIXME: This is because, as in TC, we depend on $Id$ from the
## ChangeLog. Maybe we should depend from something less prone to
-## change.
+## change. See Bison's build system.
##
## FIXME: Move these rules higher, closer to their use sites.
##
-## FIXME: There are too many indirect generations here. Simplify.
-
-# FIXME: Directly depend on $(DOXYFILE).in instead.
-$(DOXYFILE_USER_PDF): $(DOXYFILE_USER_HTML)
- $(edit_pdf) $< >$@
+## FIXME: It'd be more logical to generate $(DOXYFILE_DEVEL) from
+## $(DOXYFILE_USER), not the reverse.
-# FIXME: Directly depend on $(DOXYFILE).in instead.
-$(DOXYFILE_USER_HTML): $(DOXYFILE_DEVEL_HTML)
+$(DOXYFILE_USER): $(DOXYFILE_DEVEL)
$(edit_user) $< >$@
-# FIXME: Directly depend on $(DOXYFILE).in instead.
-$(DOXYFILE_DEVEL_PDF): $(DOXYFILE_DEVEL_HTML)
- $(edit_pdf) $< >$@
-
-$(DOXYFILE_DEVEL_HTML): $(srcdir)/$(DOXYFILE).in
+$(DOXYFILE_DEVEL): $(srcdir)/$(DOXYFILE).in
Id=`grep '^\$$Id' $(top_srcdir)/milena/ChangeLog \
| sed -e 's/\\\$$//g'`; \
- $(edit) $< >$@
+ $(edit) $< >$@
--
1.5.6.5