Skip to content
Snippets Groups Projects
Commit 8251d3eb authored by Christian Engwer's avatar Christian Engwer
Browse files

* create Doxyfile during configure

* use doxy-header/footer.html only wen building with dune-web
* fix #267

[[Imported from SVN: r5164]]
parent 94452d9f
No related branches found
No related tags found
No related merge requests found
# $Id$
# we need the module file to be able to build via dunecontrol
EXTRA_DIST=dune.module
EXTRA_DIST=dune.module dune-common.m4
# don't follow the full GNU-standard
# need automake >= 1.5
......@@ -14,6 +14,6 @@ pkgconfig_DATA = dune-common.pc
# use configured compiler for "make distcheck"
# doxygen is difficult to convince to build in a special directory...
DISTCHECK_CONFIGURE_FLAGS = CXX="$(CXX)" CC="$(CC)" DOXYGEN="true" --enable-parallel=@ENABLE_PARALLEL@ MPICC="$(MPICC)"
DISTCHECK_CONFIGURE_FLAGS = CXX="$(CXX)" CC="$(CC)" --enable-parallel=@ENABLE_PARALLEL@ MPICC="$(MPICC)"
include $(top_srcdir)/am/global-rules
# -*-makefile-automake-*-
if BUILD_DOCS
DOXYGENTAG = doxygen-tag
DOXYGEN_HTML = html
# EXTRAINSTALL in the html subdirectory
DOXYGENHTMLFILES = *.html *.css *.png *.gif
# DOXYGENDISTFILES = html html/*.html html/*.css html/*.png html/*.gif doxygen-tag
DOXYGENINSTALL = $(DOXYGENHTMLFILES) ../doxygen.log
endif
DISTCLEANFILES = doxygen.log doxygen-tag
if MAKEDIST
if WML
# themeing doxygen
DOXYGENHEADER = doxy-header.html
DOXYGENFOOTER = doxy-footer.html
DOXYGENSTYLESHEET = dune-doxy.css
endif
endif
DOXYGENFILES = $(DOXYGEN_HTML) $(DOXYGENHEADER) $(DOXYGENFOOTER)
#we need this in the distribution
if BUILD_DOCS
install-doxygen-data: $(DOXYGEN_HTML)
$(mkinstalldirs) $(DESTDIR)/$(doxygendir); \
dir=$(srcdir); \
if test -d ./html; then dir=.; fi; echo "dir=$$dir"; \
list='$(DOXYGENHTMLFILES)'; \
for p in $$list; do \
$(install_sh_DATA) $$dir/html/$$p $(DESTDIR)/$(doxygendir); \
done
uninstall-doxygen-data:
list='$(DOXYGENHTMLFILES)'; \
for p in $$list; do \
rm -f $(DESTDIR)/$(doxygendir)/$$p; \
done
install-data-local: install-doxygen-data
uninstall-local: uninstall-doxygen-data
endif
# what files does the doxygen-generated stuff depend on (find-syntax)
DOXYGEN_DEPENDON = -name \*.cc -o -name \*.hh -o -name \*.png
# as all doxygen files fill be installed in the html subdirectory
# the BASEDIR has to be adjusted
doxy-header.html: BASEDIR:=$(BASEDIR)/..
doxy-header.html:
# check dependency ourself to be robust
doxygen-tag: FORCE $(DOXYGENHEADER)
set -e; \
if test ! -e doxygen-tag || test x"`find $(top_srcdir) \( $(DOXYGEN_DEPENDON) \) -a -cnewer doxygen-tag -print`" != x ; then \
echo Running doxygen. This may take a while... ; \
$(DOXYGEN) Doxyfile > doxygen.log 2>&1 <&- ; \
touch doxygen-tag ; \
fi
# fi; \
# if ! (test "x$(VPATH)" != "x" && test -e $(srcdir)/doxygen-tag); then \
#
html: doxygen-tag
if WML
# how to install the doxygen documentation
web-install-doxygen:
if test -d $(DUNEWEBDIR) && test -r $(DUNEWEBDIR)/Make.global ; then \
pushd html; \
$(MAKE) -f $(DUNEWEBDIR)/Make.global \
EXTRAINSTALL="$(DOXYGENINSTALL)" CURDIR="$(CURDIR)/dune-common-html" install ; \
popd; \
fi
web-install: web-install-doxygen
endif
clean-local: clean-doxygen
clean-doxygen:
rm -rf html latex $(DOXYGENTAG) *~
# nice trick from the GNU make infopage to force a rule to run
FORCE:
include $(top_srcdir)/am/webstuff
......@@ -35,6 +35,7 @@ AC_CONFIG_FILES([Makefile
doc/devel/Makefile
doc/layout/Makefile
doc/doxygen/Makefile
doc/doxygen/Doxyfile
doc/buildsystem/Makefile
m4/Makefile
am/Makefile
......
......@@ -17,13 +17,13 @@
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
PROJECT_NAME = dune-common
PROJECT_NAME = @DUNE_MOD_NAME@
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER =
PROJECT_NUMBER = @DUNE_MOD_VERSION@
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
......@@ -130,7 +130,8 @@ STRIP_FROM_INC_PATH =
# (but less readable) file names. This can be useful is your file systems
# doesn't support long names like on DOS, Mac, or CD-ROM.
SHORT_NAMES = NO
@DUNEWEB_TRUE@SHORT_NAMES = NO
@DUNEWEB_FALSE@SHORT_NAMES = YES
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
......@@ -459,10 +460,10 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = mainpage \
modules \
../../common/modules \
../../common
INPUT = @srcdir@/mainpage \
@srcdir@/modules \
@top_srcdir@/common/modules \
@top_srcdir@/common
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
......@@ -484,7 +485,7 @@ RECURSIVE = YES
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
EXCLUDE = ../../common/test
EXCLUDE = @top_srcdir@/common/test
# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
# directories that are symbolic links (a Unix filesystem feature) are excluded
......@@ -642,13 +643,15 @@ HTML_FILE_EXTENSION = .html
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
HTML_HEADER =
@DUNEWEB_TRUE@HTML_HEADER = doxy-header.html
@DUNEWEB_FALSE@HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER =
@DUNEWEB_TRUE@HTML_FOOTER = doxy-footer.html
@DUNEWEB_FALSE@HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
......@@ -657,7 +660,8 @@ HTML_FOOTER =
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET =
@DUNEWEB_TRUE@HTML_STYLESHEET = dune-doxy.css
@DUNEWEB_FALSE@HTML_STYLESHEET =
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
......
# $Id$
if BUILD_DOCS
DOXYGENTAG = doxygen-tag
# only build html when wml is available
if WML
WHAT = bestpractice.html
endif
DOXYGEN_HTML = html
DOXYGEN_DIST = html-dist
endif
DISTCLEANFILES = doxygen.log doxygen-tag
all: $(WHAT) $(DOXYGEN_HTML)
# setting like in dune-web
BASEDIR=../..
CURDIR=doc/doxygen
if BUILD_DOCS
# EXTRAINSTALL in the html subdirectory
DOXYGENINSTALL = *.html *.css *.png *.gif ../doxygen.log
endif
if WML
# themeing doxygen
DOXYGENHEADER = doxy-header.html
DOXYGENHEADERBUILD = $(DOXYGENHEADER).build
DOXYGENFOOTER = doxy-footer.html
DOXYGENSTYLESHEET = dune-doxy.css
DOYXFILE_OVERWRITE = echo "HTML_HEADER = $(DOXYGENHEADER)"; \
echo "HTML_FOOTER = $(DOXYGENFOOTER)"; \
echo "HTML_STYLESHEET = $(DOXYGENSTYLESHEET)";
DOXYFILESHORT_OVERWRITE = $(DOYXFILE_OVERWRITE) \
echo "SHORT_NAMES = YES";
WHAT = bestpractice.html
endif
endif
#we need this in the distribution
if BUILD_DOCS
EXTRA_DIST = $(WHAT) $(DOXYGEN_DIST) $(DOXYGENHEADER) doxy-footer.html $(PAGES)
doxygendir = $(datadir)/doc/dune-common/doxygen
doxygen_DATA = $(WHAT)
install-data-local: html-dist
$(mkinstalldirs) $(DESTDIR)/$(doxygendir); \
list="$(srcdir)/html-dist/*.html $(srcdir)/html-dist/*.css $(srcdir)/html-dist/*.png $(srcdir)/html-dist/*.gif"; \
for p in $$list; do \
$(install_sh_DATA) $$p $(DESTDIR)/$(doxygendir); \
done
uninstall-local:
rm -f $(DESTDIR)/$(doxygendir)/*.html
rm -f $(DESTDIR)/$(doxygendir)/*.css
rm -f $(DESTDIR)/$(doxygendir)/*.png
rm -f $(DESTDIR)/$(doxygendir)/*.gif
endif
# what files does the doxygen-generated stuff depend on (find-syntax)
DEPENDON = -name \*.cc -o -name \*.hh -o -name \*.png
# as all doxygen files fill be installed in the html subdirectory
# the BASEDIR has to be adjusted
%.build: FORCE
$(MAKE) $* BASEDIR=../../..
# check dependency ourself to be robust
doxygen-tag: FORCE $(DOXYGENHEADERBUILD)
set -e; \
if test -e Doxyfile; then \
if test ! -e doxygen-tag || test x"`find $(top_srcdir) \( $(DEPENDON) \) -a -cnewer doxygen-tag -print`" != x ; then \
echo Running doxygen. This may take a while... ; \
( cat Doxyfile; $(DOYXFILE_OVERWRITE) ) > Doxyfile.tmp; \
$(DOXYGEN) Doxyfile.tmp > doxygen.log 2>&1 <&- ; \
rm -f Doxyfile.tmp; \
touch doxygen-tag ; \
fi; \
fi
html: doxygen-tag
html-dist: $(DOXYGENHEADERBUILD)
rm -rf html
set -e; \
if test -e Doxyfile; then \
( cat Doxyfile; $(DOXYFILESHORT_OVERWRITE) ) > Doxyfile.tmp; \
echo Running doxygen. This may take a while... ; \
$(DOXYGEN) Doxyfile.tmp > doxygen.log 2>&1 <&- ; \
rm -f Doxyfile.tmp; \
fi
if test -d html; then rm -rf html-dist; mv html html-dist; fi
# how to install the doxygen documentation
doxygen-install:
if test -d $(DUNEWEBDIR) && test -r $(DUNEWEBDIR)/Make.global ; then \
pushd html; \
$(MAKE) -f $(DUNEWEBDIR)/Make.global \
EXTRAINSTALL="$(DOXYGENINSTALL)" CURDIR="$(CURDIR)/dune-common-html" install ; \
popd; \
fi
web-install: doxygen-install
#we need this in the distribution
EXTRA_DIST = $(WHAT) $(DOXYGENDISTFILES)
# nice trick from the GNU make infopage to force a rule to run
FORCE:
all: $(WHAT) $(DOXYGENFILES)
include $(top_srcdir)/am/webstuff
include $(top_srcdir)/am/doxygen
include $(top_srcdir)/am/global-rules
# file to clean only in svn and not in tarball tree
SVNCLEANFILES = html html-dist $(WHAT) $(DOXYGENHEADER)
SVNCLEANFILES = html $(WHAT) $(DOXYGENHEADER)
clean-local:
if test -e $(top_srcdir)/doc/doxygen/Doxydep; then rm -rf $(SVNCLEANFILES);fi
rm -rf latex *~
CLEANFILES = $(DOXYGENTAG)
include $(top_srcdir)/am/global-rules
if test "x$(VPATH)" != "x" && test ! -e $(srcdir)/doxygen-tag; then \
if test -e $(top_srcdir)/doc/doxygen/Doxydep; then \
rm -rf $(SVNCLEANFILES); \
fi; \
fi
......@@ -43,6 +43,9 @@ AC_DEFUN([DUNE_CHECK_DEPENDENCIES], [
AC_PROG_CXX
LT_OUTPUT
DUNE_PARSE_MODULE_FILE
AC_SUBST([DUNE[]_MOD_VERSION], [DUNE_MOD_VERSION])
AC_SUBST([DUNE[]_MOD_NAME], [DUNE_MOD_NAME])
AC_SUBST(ALL_PKG_LIBS, "$LIBS $DUNE_PKG_LIBS")
[## invoke checks for] DUNE_MOD_NAME
m4_pushdef([_dune_module], [m4_translit(DUNE_MOD_NAME, [-], [_])])
m4_pushdef([_DUNE_MODULE], [m4_toupper(_dune_module)])
......@@ -59,6 +62,18 @@ AC_DEFUN([DUNE_CHECK_ALL],[
AC_REQUIRE([DUNE_DOCUMENTATION])
AC_REQUIRE([DUNE_WEB])
AC_ARG_ENABLE(enabledist,
AC_HELP_STRING([--enable-dist],
[go into create-tarballs-mode [[default=no]]]),
[enabledist=$enable],
[enabledist=no]
)
AM_CONDITIONAL(MAKEDIST, test x$enabledist = xyes)
if x$enabledist = xyes; then
AM_CONDITIONAL(DUNEWEB, false)
fi
dnl check all components
AC_REQUIRE([DUNE_CHECK_DEPENDENCIES])
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment