mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-22 01:14:53 +01:00
doc: build and install doxygen api docs
In order to support out of tree builds and avoid hardcoding version number, generate `doc/config.dox` from configure.
This commit is contained in:
parent
0e50854a7f
commit
1022433551
3 changed files with 39 additions and 5 deletions
12
configure
vendored
12
configure
vendored
|
@ -417,6 +417,15 @@ else
|
|||
have_emacs=0
|
||||
fi
|
||||
|
||||
printf "Checking if doxygen is available... "
|
||||
if command -v doxygen > /dev/null 2>&1; then
|
||||
printf "Yes.\n"
|
||||
have_doxygen=1
|
||||
else
|
||||
printf "No (so will not install api docs)\n"
|
||||
have_doxygen=0
|
||||
fi
|
||||
|
||||
printf "Checking if sphinx is available and supports nroff output... "
|
||||
if hash sphinx-build > /dev/null 2>&1 && python -m sphinx.writers.manpage > /dev/null 2>&1 ; then
|
||||
printf "Yes.\n"
|
||||
|
@ -829,6 +838,9 @@ HAVE_SPHINX=${have_sphinx}
|
|||
# Whether there's a rst2man binary available for building documentation
|
||||
HAVE_RST2MAN=${have_rst2man}
|
||||
|
||||
# Whether there's a doxygen binary available for building api documentation
|
||||
HAVE_DOXYGEN=${have_doxygen}
|
||||
|
||||
# The directory to which desktop files should be installed
|
||||
desktop_dir = \$(prefix)/share/applications
|
||||
|
||||
|
|
|
@ -12,10 +12,12 @@ mkdocdeps := python $(srcdir)/$(dir)/mkdocdeps.py
|
|||
|
||||
# Internal variables.
|
||||
ALLSPHINXOPTS := -d $(DOCBUILDDIR)/doctrees $(SPHINXOPTS) $(srcdir)/$(dir)
|
||||
APIMAN := $(DOCBUILDDIR)/man/man3/notmuch.3
|
||||
DOXYFILE := $(srcdir)/$(dir)/doxygen.cfg
|
||||
|
||||
.PHONY: sphinx-html sphinx-texinfo sphinx-info
|
||||
|
||||
.PHONY: install-man build-man
|
||||
.PHONY: install-man build-man apidocs install-apidocs
|
||||
|
||||
%.gz: %
|
||||
rm -f $@ && gzip --stdout $^ > $@
|
||||
|
@ -56,6 +58,23 @@ else
|
|||
endif
|
||||
touch ${MAN_ROFF_FILES} $@
|
||||
|
||||
install-man: install-apidocs
|
||||
|
||||
ifeq ($(HAVE_DOXYGEN),1)
|
||||
MAN_GZIP_FILES += ${APIMAN}.gz
|
||||
apidocs: $(APIMAN)
|
||||
install-apidocs: apidocs
|
||||
mkdir -p "$(DESTDIR)$(mandir)/man3"
|
||||
install -m0644 $(DOCBUILDDIR)/man/man3/*.3.gz $(DESTDIR)/$(mandir)/man3
|
||||
|
||||
$(APIMAN): $(dir)/config.dox $(srcdir)/$(dir)/doxygen.cfg $(srcdir)/lib/notmuch.h
|
||||
mkdir -p $(DOCBUILDDIR)/man/man3
|
||||
doxygen $(DOXYFILE)
|
||||
else
|
||||
apidocs:
|
||||
install-apidocs:
|
||||
endif
|
||||
|
||||
# Do not try to build or install man pages if a man page converter is
|
||||
# not available.
|
||||
ifeq ($(HAVE_SPHINX)$(HAVE_RST2MAN),00)
|
||||
|
@ -74,8 +93,12 @@ install-man: ${MAN_GZIP_FILES}
|
|||
cd $(DESTDIR)/$(mandir)/man1 && ln -sf notmuch.1.gz notmuch-setup.1.gz
|
||||
endif
|
||||
|
||||
$(dir)/config.dox: version.stamp
|
||||
echo "PROJECT_NAME = \"Notmuch $(VERSION)\"" > $@
|
||||
echo "INPUT=${srcdir}/lib/notmuch.h" >> $@
|
||||
|
||||
$(dir)/docdeps.mk: $(dir)/conf.py $(dir)/mkdocdeps.py
|
||||
$(mkdocdeps) $(srcdir)/doc $(DOCBUILDDIR) $@
|
||||
|
||||
CLEAN := $(CLEAN) $(DOCBUILDDIR) $(dir)/docdeps.mk $(DOCBUILDDIR)/.roff.stamp
|
||||
CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) $(dir)/conf.pyc
|
||||
CLEAN := $(CLEAN) $(MAN_GZIP_FILES) $(MAN_ROFF_FILES) $(dir)/conf.pyc $(dir)/config.dox
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
# Project related configuration options
|
||||
#---------------------------------------------------------------------------
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = "Notmuch 0.18"
|
||||
@INCLUDE = "doc/config.dox"
|
||||
PROJECT_NUMBER =
|
||||
PROJECT_BRIEF =
|
||||
PROJECT_LOGO =
|
||||
OUTPUT_DIRECTORY =
|
||||
OUTPUT_DIRECTORY = doc/_build
|
||||
CREATE_SUBDIRS = NO
|
||||
OUTPUT_LANGUAGE = English
|
||||
BRIEF_MEMBER_DESC = YES
|
||||
|
@ -96,7 +96,6 @@ WARN_LOGFILE =
|
|||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the input files
|
||||
#---------------------------------------------------------------------------
|
||||
INPUT = lib/notmuch.h
|
||||
INPUT_ENCODING = UTF-8
|
||||
FILE_PATTERNS =
|
||||
RECURSIVE = NO
|
||||
|
|
Loading…
Reference in a new issue