summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-02-01 05:25:36 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2019-02-04 16:43:57 +0000
commit375bf6dcc503626af4c6f7fc36828008b7eb874e (patch)
tree1a9603cfc20977083e72cea71ed7a6f1ef4e1eb3
parent2fe50ac9511469a587426b80501b2b5da770e3a0 (diff)
doxygen: add source files as dependencies
So far, when modifying a source file, the doxygen docs were not regenerated automatically. It required a manual 'rm -rf docs/core' or similar. Make it rebuild automatically: Add each library's source files to the list of dependencies for the first-pass doxygen build. Attention, since all libraries depend on the .map files of each other library, and each library depends on its own source files, that means that a single touch on one .c file anywhere will result in rebuilding the entire doxygen docs. It is correct to do so, since any file may introduce \ref targets used anywhere else. If you don't want that, --disable-doxygen. Change-Id: I15ea96be6e7abe91264b91f0b06963a0f2d63b0b
-rw-r--r--Makefile.am32
1 files changed, 25 insertions, 7 deletions
diff --git a/Makefile.am b/Makefile.am
index 9e0888f5..8fe5f57c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -51,43 +51,61 @@ $(html_DATA): $(top_builddir)/doc/core/html/index.html \
# circular dependency: we would rebuild all every time 'make' is invoked.
# The .prep file also depends on all the source files for that library.
-$(top_builddir)/doc/libosmocore.tag.prep: $(top_builddir)/Doxyfile.core
+$(top_builddir)/doc/libosmocore.tag.prep: $(top_builddir)/Doxyfile.core \
+ $(top_srcdir)/include/osmocom/core/*.h \
+ $(top_srcdir)/src/*.[hc] \
+ $(top_srcdir)/src/pseudotalloc/*.[hc]
rm -rf $(top_builddir)/doc/core; mkdir -p $(top_builddir)/doc/core
rm -rf $(top_builddir)/doc/libosmocore.map
-$(DOXYGEN) $(top_builddir)/Doxyfile.core
touch "$@"
-$(top_builddir)/doc/libosmogsm.tag.prep: $(top_builddir)/Doxyfile.gsm
+$(top_builddir)/doc/libosmogsm.tag.prep: $(top_builddir)/Doxyfile.gsm \
+ $(top_srcdir)/include/osmocom/gsm/*.h \
+ $(top_srcdir)/include/osmocom/gsm/protocol/*.h \
+ $(top_srcdir)/include/osmocom/crypt/*.h \
+ $(top_srcdir)/src/gsm/*.c \
+ $(top_srcdir)/src/gsm/milenage/*.[hc]
rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm
rm -rf $(top_builddir)/doc/libosmogsm.map
-$(DOXYGEN) $(top_builddir)/Doxyfile.gsm
touch "$@"
-$(top_builddir)/doc/libosmovty.tag.prep: $(top_builddir)/Doxyfile.vty
+$(top_builddir)/doc/libosmovty.tag.prep: $(top_builddir)/Doxyfile.vty \
+ $(top_srcdir)/include/osmocom/vty/*.h \
+ $(top_srcdir)/src/vty/*.c
rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty
rm -rf $(top_builddir)/doc/libosmovty.map
-$(DOXYGEN) $(top_builddir)/Doxyfile.vty
touch "$@"
-$(top_builddir)/doc/libosmocodec.tag.prep: $(top_builddir)/Doxyfile.codec
+$(top_builddir)/doc/libosmocodec.tag.prep: $(top_builddir)/Doxyfile.codec \
+ $(top_srcdir)/include/osmocom/codec/*.h \
+ $(top_srcdir)/src/codec/*.c
rm -rf $(top_builddir)/doc/codec; mkdir -p $(top_builddir)/doc/codec
rm -rf $(top_builddir)/doc/libosmocodec.map
-$(DOXYGEN) $(top_builddir)/Doxyfile.codec
touch "$@"
-$(top_builddir)/doc/libosmocoding.tag.prep: $(top_builddir)/Doxyfile.coding
+$(top_builddir)/doc/libosmocoding.tag.prep: $(top_builddir)/Doxyfile.coding \
+ $(top_srcdir)/include/osmocom/coding/*.h \
+ $(top_srcdir)/src/coding/*.c
rm -rf $(top_builddir)/doc/coding; mkdir -p $(top_builddir)/doc/coding
rm -rf $(top_builddir)/doc/libosmocoding.map
-$(DOXYGEN) $(top_builddir)/Doxyfile.coding
touch "$@"
-$(top_builddir)/doc/libosmoctrl.tag.prep: $(top_builddir)/Doxyfile.ctrl
+$(top_builddir)/doc/libosmoctrl.tag.prep: $(top_builddir)/Doxyfile.ctrl \
+ $(top_srcdir)/include/osmocom/ctrl/*.h \
+ $(top_srcdir)/src/ctrl/*.c
rm -rf $(top_builddir)/doc/ctrl; mkdir -p $(top_builddir)/doc/ctrl
rm -rf $(top_builddir)/doc/libosmoctrl.map
-$(DOXYGEN) $(top_builddir)/Doxyfile.ctrl
touch "$@"
-$(top_builddir)/doc/libosmogb.tag.prep: $(top_builddir)/Doxyfile.gb
+$(top_builddir)/doc/libosmogb.tag.prep: $(top_builddir)/Doxyfile.gb \
+ $(top_srcdir)/include/osmocom/gprs/*.h \
+ $(top_srcdir)/src/gb/*.[hc]
rm -rf $(top_builddir)/doc/gb; mkdir -p $(top_builddir)/doc/gb
rm -rf $(top_builddir)/doc/libosmogb.map
-$(DOXYGEN) $(top_builddir)/Doxyfile.gb