| ACLOCAL_AMFLAGS = -I m4 |
| |
| AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include |
| SUBDIRS = include src src/vty src/codec src/gsm src/coding src/gb src/ctrl src/sim src/pseudotalloc src/usb utils tests |
| |
| pkgconfigdir = $(libdir)/pkgconfig |
| pkgconfig_DATA = libosmocore.pc libosmocodec.pc libosmovty.pc libosmogsm.pc \ |
| libosmogb.pc libosmoctrl.pc libosmocoding.pc libosmosim.pc \ |
| libosmousb.pc |
| |
| aclocaldir = $(datadir)/aclocal |
| dist_aclocal_DATA = m4/osmo_ac_code_coverage.m4 \ |
| m4/osmo_ax_code_coverage.m4 |
| |
| @RELMAKE@ |
| @CODE_COVERAGE_RULES@ |
| |
| relengdir = $(includedir) |
| releng_DATA = osmo-release.mk |
| |
| dist_bin_SCRIPTS = osmo-release.sh |
| |
| osmo-release.mk: git-version-gen |
| |
| BUILT_SOURCES = $(top_srcdir)/.version |
| $(top_srcdir)/.version: |
| echo $(VERSION) > $@-t && mv $@-t $@ |
| dist-hook: |
| echo $(VERSION) > $(distdir)/.tarball-version |
| |
| EXTRA_DIST = \ |
| .version \ |
| README.md \ |
| contrib/libosmocore.spec.in \ |
| debian \ |
| git-version-gen \ |
| osmo-release.mk \ |
| osmo-release.sh \ |
| $(NULL) |
| |
| HTML = \ |
| $(top_builddir)/doc/core/html/index.html \ |
| $(top_builddir)/doc/gsm/html/index.html \ |
| $(top_builddir)/doc/vty/html/index.html \ |
| $(top_builddir)/doc/codec/html/index.html \ |
| $(top_builddir)/doc/coding/html/index.html \ |
| $(top_builddir)/doc/ctrl/html/index.html \ |
| $(top_builddir)/doc/gb/html/index.html |
| |
| if HAVE_DOXYGEN |
| html_DATA = $(top_builddir)/doc/html.tar |
| |
| doc: $(html_DATA) |
| |
| $(html_DATA): apidoc |
| else |
| DOXYGEN=doxygen |
| endif |
| |
| .PHONY: apidoc |
| apidoc: $(HTML) |
| cd $(top_builddir)/doc && tar cf html.tar */html |
| |
| # Support doxygen cross references from each library to each other library: |
| # First generate the docs to make sure all .tag files are in place. |
| # In a second run, generate the content with proper referencing. |
| # For example, libosmocore references tags from libosmovty and vice versa, |
| # so both need to generate tag files first, and then do another run. |
| # |
| # Generate each docs tree, and touch a libosmofoo.tag.prep file when done. |
| # It means that a libosmofoo.tag file is up-to-date. |
| # Touch a separate "*.prep" target: libosmofoo.tag as target would create |
| # 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_srcdir)/include/osmocom/core/*.h \ |
| $(top_srcdir)/src/*.[hc] \ |
| $(top_srcdir)/src/crcXXgen.c.tpl \ |
| $(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_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 "$@" |
| |
| # Don't delete the entire doc/vty, it contains example.xml and vtydoc.xsd (OS#3986) |
| $(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/html $(top_builddir)/doc/vty/latex |
| rm -rf $(top_builddir)/doc/libosmovty.map |
| -$(DOXYGEN) $(top_builddir)/Doxyfile.vty |
| touch "$@" |
| |
| $(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_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_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_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 |
| touch "$@" |
| |
| # Build for real once all depending .tag files are in place. |
| # Depend on the own .tag.prep file to avoid concurrent builds of the same doc |
| # tree, and to also depend on all the source files listed above. |
| # |
| # Each library should depend on all the tag.prep files of which it lists .tag |
| # files in Doxyfile under TAGFILES. |
| # |
| # In turn, include all .tag files in TAGFILES of libraries to which "\ref" |
| # references point. |
| # |
| # Easiest is to just depend on all tag.prep files all across everywhere. |
| |
| $(top_builddir)/doc/core/html/index.html: $(top_builddir)/doc/libosmocore.tag.prep \ |
| $(top_builddir)/doc/libosmogsm.tag.prep \ |
| $(top_builddir)/doc/libosmovty.tag.prep \ |
| $(top_builddir)/doc/libosmocodec.tag.prep \ |
| $(top_builddir)/doc/libosmocoding.tag.prep \ |
| $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| $(top_builddir)/doc/libosmogb.tag.prep |
| rm -rf $(top_builddir)/doc/core; mkdir -p $(top_builddir)/doc/core |
| $(DOXYGEN) Doxyfile.core |
| |
| $(top_builddir)/doc/gsm/html/index.html: $(top_builddir)/doc/libosmogsm.tag.prep \ |
| $(top_builddir)/doc/libosmocore.tag.prep \ |
| $(top_builddir)/doc/libosmovty.tag.prep \ |
| $(top_builddir)/doc/libosmocodec.tag.prep \ |
| $(top_builddir)/doc/libosmocoding.tag.prep \ |
| $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| $(top_builddir)/doc/libosmogb.tag.prep |
| rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm |
| $(DOXYGEN) Doxyfile.gsm |
| |
| # Don't delete the entire doc/vty, it contains example.xml and vtydoc.xsd (OS#3986) |
| $(top_builddir)/doc/vty/html/index.html: $(top_builddir)/doc/libosmovty.tag.prep \ |
| $(top_builddir)/doc/libosmocore.tag.prep \ |
| $(top_builddir)/doc/libosmogsm.tag.prep \ |
| $(top_builddir)/doc/libosmocodec.tag.prep \ |
| $(top_builddir)/doc/libosmocoding.tag.prep \ |
| $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| $(top_builddir)/doc/libosmogb.tag.prep |
| rm -rf $(top_builddir)/doc/vty/html $(top_builddir)/doc/vty/latex |
| $(DOXYGEN) Doxyfile.vty |
| |
| $(top_builddir)/doc/codec/html/index.html: $(top_builddir)/doc/libosmocodec.tag.prep \ |
| $(top_builddir)/doc/libosmocore.tag.prep \ |
| $(top_builddir)/doc/libosmogsm.tag.prep \ |
| $(top_builddir)/doc/libosmovty.tag.prep \ |
| $(top_builddir)/doc/libosmocoding.tag.prep \ |
| $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| $(top_builddir)/doc/libosmogb.tag.prep |
| rm -rf $(top_builddir)/doc/codec; mkdir -p $(top_builddir)/doc/codec |
| $(DOXYGEN) Doxyfile.codec |
| |
| $(top_builddir)/doc/coding/html/index.html: $(top_builddir)/doc/libosmocoding.tag.prep \ |
| $(top_builddir)/doc/libosmocore.tag.prep \ |
| $(top_builddir)/doc/libosmogsm.tag.prep \ |
| $(top_builddir)/doc/libosmovty.tag.prep \ |
| $(top_builddir)/doc/libosmocodec.tag.prep \ |
| $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| $(top_builddir)/doc/libosmogb.tag.prep |
| rm -rf $(top_builddir)/doc/coding; mkdir -p $(top_builddir)/doc/coding |
| $(DOXYGEN) Doxyfile.coding |
| |
| $(top_builddir)/doc/ctrl/html/index.html: $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| $(top_builddir)/doc/libosmocore.tag.prep \ |
| $(top_builddir)/doc/libosmogsm.tag.prep \ |
| $(top_builddir)/doc/libosmovty.tag.prep \ |
| $(top_builddir)/doc/libosmocodec.tag.prep \ |
| $(top_builddir)/doc/libosmocoding.tag.prep \ |
| $(top_builddir)/doc/libosmogb.tag.prep |
| rm -rf $(top_builddir)/doc/ctrl; mkdir -p $(top_builddir)/doc/ctrl |
| $(DOXYGEN) Doxyfile.ctrl |
| |
| $(top_builddir)/doc/gb/html/index.html: $(top_builddir)/doc/libosmogb.tag.prep \ |
| $(top_builddir)/doc/libosmocore.tag.prep \ |
| $(top_builddir)/doc/libosmogsm.tag.prep \ |
| $(top_builddir)/doc/libosmovty.tag.prep \ |
| $(top_builddir)/doc/libosmocodec.tag.prep \ |
| $(top_builddir)/doc/libosmocoding.tag.prep \ |
| $(top_builddir)/doc/libosmoctrl.tag.prep |
| rm -rf $(top_builddir)/doc/gb; mkdir -p $(top_builddir)/doc/gb |
| $(DOXYGEN) Doxyfile.gb |
| |
| if HAVE_DOXYGEN |
| install-data-hook: |
| cd $(DESTDIR)$(htmldir) && tar xf html.tar && rm -f html.tar |
| |
| uninstall-hook: |
| cd $(DESTDIR)$(htmldir) && rm -rf {core,gsm,vty,codec,coding,ctrl,gb} |
| |
| DX_CLEAN = doc/{core,gsm,vty,codec,coding,ctrl,gb}/html/search/* doc/{core,gsm,vty,codec,coding,ctrl,gb}/{html,latex}/* doc/html.tar doc/{core,gsm,vty,codec,coding,ctrl,gb}/doxygen_sqlite3.db doc/*.tag doc/*.tag.prep |
| endif |
| |
| MOSTLYCLEANFILES = $(DX_CLEAN) |