diff options
author | Jonas Schnelli <dev@jonasschnelli.ch> | 2018-02-17 18:49:18 +1100 |
---|---|---|
committer | Jonas Schnelli <dev@jonasschnelli.ch> | 2018-02-17 18:49:24 +1100 |
commit | daa84b33540aa3bcb74aa8b0cf08362d688bb4ce (patch) | |
tree | 78e80b894eab2329d40de40d420598365c95cf8c | |
parent | 23481fa50301201ef5a60675ef899aa6ce94ca03 (diff) | |
parent | a777244e48227db6d3fd06cd2500cc007dacfb10 (diff) |
Merge #12029: Build: Add a makefile target for Doxygen documentation
a777244e4 Build: Add a makefile target for Doxygen documentation (Andrea Comand)
Pull request description:
You can now build the doxygen documentation with `make docs` and clean it with `make clean-docs`.
Fixes: #11949
Tree-SHA512: f2361ec7f771227367dd04bba1a444b44e59f13901463a678a5f2f579a10a56d67db2e29552e754e312a1c472a31593b6af189cbaac5cd351a428c57baf5ace7
-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 2b6ee1dc3f..c2e34a52ca 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) @@ -1260,7 +1265,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 --------------------------- |