diff options
author | Andrea Comand <andrea@comand.me> | 2017-12-26 18:12:04 +0100 |
---|---|---|
committer | Andrea Comand <andrea@comand.me> | 2018-01-25 19:43:19 +0100 |
commit | a777244e48227db6d3fd06cd2500cc007dacfb10 (patch) | |
tree | 05cc6087e08c492f207670d99f6f66505f14c63b | |
parent | 2ae7cf8ef5be67e085abc1b1dc71bc44865a71b3 (diff) |
Build: Add a makefile target for Doxygen documentation
You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`.
Fixes: #11949
-rw-r--r-- | Makefile.am | 18 | ||||
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | doc/developer-notes.md | 2 |
3 files changed, 25 insertions, 2 deletions
diff --git a/Makefile.am b/Makefile.am index b24daf9905..f345760f2d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -277,6 +277,22 @@ CLEANFILES = $(OSX_DMG) $(BITCOIN_WIN_INSTALLER) DISTCHECK_CONFIGURE_FLAGS = --enable-man -clean-local: +doc/doxygen/.stamp: doc/Doxyfile FORCE + $(MKDIR_P) $(@D) + $(DOXYGEN) $^ + $(AM_V_at) touch $@ + +if HAVE_DOXYGEN +docs: doc/doxygen/.stamp +else +docs: + @echo "error: doxygen not found" +endif + +clean-docs: + rm -rf doc/doxygen + +clean-local: clean-docs rm -rf coverage_percent.txt test_bitcoin.coverage/ total.coverage/ test/tmp/ cache/ $(OSX_APP) rm -rf test/functional/__pycache__ test/functional/test_framework/__pycache__ test/cache + diff --git a/configure.ac b/configure.ac index 256aed40b2..aaa7668195 100644 --- a/configure.ac +++ b/configure.ac @@ -93,6 +93,11 @@ AC_PATH_PROG(HEXDUMP,hexdump) AC_PATH_TOOL(READELF, readelf) AC_PATH_TOOL(CPPFILT, c++filt) AC_PATH_TOOL(OBJCOPY, objcopy) +AC_PATH_PROG(DOXYGEN, doxygen) +if test -z "$DOXYGEN"; then + AC_MSG_WARN([Doxygen not found]) +fi +AM_CONDITIONAL([HAVE_DOXYGEN], [test -n "$DOXYGEN"]) AC_ARG_VAR(PYTHONPATH, Augments the default search path for python module files) @@ -1257,7 +1262,7 @@ AC_SUBST(PROTOBUF_LIBS) AC_SUBST(QR_LIBS) AC_CONFIG_FILES([Makefile src/Makefile doc/man/Makefile share/setup.nsi share/qt/Info.plist test/config.ini]) AC_CONFIG_FILES([contrib/devtools/split-debug.sh],[chmod +x contrib/devtools/split-debug.sh]) -AC_CONFIG_FILES([doc/Doxyfile]) +AM_COND_IF([HAVE_DOXYGEN], [AC_CONFIG_FILES([doc/Doxyfile])]) AC_CONFIG_LINKS([contrib/filter-lcov.py:contrib/filter-lcov.py]) AC_CONFIG_LINKS([test/functional/test_runner.py:test/functional/test_runner.py]) AC_CONFIG_LINKS([test/util/bitcoin-util-test.py:test/util/bitcoin-util-test.py]) diff --git a/doc/developer-notes.md b/doc/developer-notes.md index 9dc63a1e4b..2ebfb59c08 100644 --- a/doc/developer-notes.md +++ b/doc/developer-notes.md @@ -132,6 +132,8 @@ Not OK (used plenty in the current source, but not picked up): A full list of comment syntaxes picked up by doxygen can be found at http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html, but if possible use one of the above styles. +Documentation can be generated with `make docs` and cleaned up with `make clean-docs`. + Development tips and tricks --------------------------- |