From f8ead35fed0b0f5c72d78ee66fdc1e87f643fdb0 Mon Sep 17 00:00:00 2001 From: Duncan Roe Date: Mon, 18 Oct 2021 15:17:39 +1100 Subject: build: doc: Allow to specify whether to produce man pages, html, neither or both New default action is: run doxygen (if installed) to produce man pages only. This adds 124 KB to the build tree (and to the install tree, after `make install`). For finer control of built documentation, the old --with-doxygen configure option is removed. Instead there are 2 new options: --enable-html-doc # +1160 KB --disable-man-pages # -124 KB If doxygen is not installed, configure outputs a warning that man pages will not be built. configure --disable-man-pages avoids this warning. After --enable-html-doc - `make install` installs built pages in htmldir instead of just leaving them in the build tree. - If the 'dot' program is not installed, configure outputs a warning that interactive diagrams will be missing and to install graphviz to get them. (There is an interactive diagram at the head of some modules, e.g. User-space network packet buffer). [ a few configure.ac edits to keep it in sync with libnetfilter_log --pablo] Signed-off-by: Duncan Roe Signed-off-by: Pablo Neira Ayuso --- doxygen/Makefile.am | 11 ++++++++++- doxygen/doxygen.cfg.in | 3 ++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'doxygen') diff --git a/doxygen/Makefile.am b/doxygen/Makefile.am index 5a7fdd5..c6eeed7 100644 --- a/doxygen/Makefile.am +++ b/doxygen/Makefile.am @@ -14,7 +14,9 @@ doxyfile.stamp: $(doc_srcs) Makefile rm -rf html man doxygen doxygen.cfg >/dev/null +if BUILD_MAN $(abs_top_srcdir)/doxygen/build_man.sh +endif touch doxyfile.stamp @@ -24,13 +26,20 @@ all-local: doxyfile.stamp clean-local: rm -rf man html install-data-local: +if BUILD_MAN mkdir -p $(DESTDIR)$(mandir)/man3 cp --no-dereference --preserve=links,mode,timestamps man/man3/*.3\ $(DESTDIR)$(mandir)/man3/ +endif +if BUILD_HTML + mkdir -p $(DESTDIR)$(htmldir) + cp --no-dereference --preserve=links,mode,timestamps html/*\ + $(DESTDIR)$(htmldir) +endif # make distcheck needs uninstall-local uninstall-local: - rm -r $(DESTDIR)$(mandir) man html doxyfile.stamp + rm -rf $(DESTDIR)$(mandir) man html doxyfile.stamp $(DESTDIR)$(htmldir) endif EXTRA_DIST = build_man.sh diff --git a/doxygen/doxygen.cfg.in b/doxygen/doxygen.cfg.in index 99b5c90..14bd0cf 100644 --- a/doxygen/doxygen.cfg.in +++ b/doxygen/doxygen.cfg.in @@ -21,7 +21,8 @@ ALPHABETICAL_INDEX = NO SEARCHENGINE = NO GENERATE_LATEX = NO LATEX_CMD_NAME = latex -GENERATE_MAN = YES +GENERATE_MAN = @GEN_MAN@ +GENERATE_HTML = @GEN_HTML@ MAN_LINKS = YES HAVE_DOT = @HAVE_DOT@ DOT_TRANSPARENT = YES -- cgit v1.2.1