Harald Welte | 4cd3d8a | 2010-03-23 00:30:19 +0800 | [diff] [blame] | 1 | ACLOCAL_AMFLAGS = -I m4 |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 2 | |
Harald Welte | d54c2ee | 2012-01-17 18:25:50 +0100 | [diff] [blame] | 3 | AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include |
Harald Welte | 40f3521 | 2018-09-29 01:41:58 +0200 | [diff] [blame] | 4 | SUBDIRS = include src src/vty src/codec src/gsm src/coding src/gb src/ctrl src/sim src/pseudotalloc utils tests |
Harald Welte | 3cae039 | 2010-02-20 21:09:24 +0100 | [diff] [blame] | 5 | |
| 6 | pkgconfigdir = $(libdir)/pkgconfig |
Harald Welte | 641f7ce | 2012-06-17 23:05:26 +0800 | [diff] [blame] | 7 | pkgconfig_DATA = libosmocore.pc libosmocodec.pc libosmovty.pc libosmogsm.pc \ |
Martin Hauke | 13e7f05 | 2018-02-10 17:48:09 +0100 | [diff] [blame] | 8 | libosmogb.pc libosmoctrl.pc libosmocoding.pc libosmosim.pc |
Harald Welte | 4cd3d8a | 2010-03-23 00:30:19 +0800 | [diff] [blame] | 9 | |
Max | ff932bb | 2017-07-04 18:19:38 +0200 | [diff] [blame] | 10 | @RELMAKE@ |
| 11 | |
| 12 | relengdir = $(includedir) |
| 13 | releng_DATA = osmo-release.mk |
| 14 | |
Harald Welte | ee497f2 | 2017-10-03 16:54:41 +0800 | [diff] [blame] | 15 | dist_bin_SCRIPTS = osmo-release.sh |
| 16 | |
Max | ff932bb | 2017-07-04 18:19:38 +0200 | [diff] [blame] | 17 | osmo-release.mk: git-version-gen |
| 18 | |
Harald Welte | 4cd3d8a | 2010-03-23 00:30:19 +0800 | [diff] [blame] | 19 | BUILT_SOURCES = $(top_srcdir)/.version |
| 20 | $(top_srcdir)/.version: |
| 21 | echo $(VERSION) > $@-t && mv $@-t $@ |
| 22 | dist-hook: |
| 23 | echo $(VERSION) > $(distdir)/.tarball-version |
Holger Hans Peter Freyther | ec4f160 | 2011-07-17 12:13:31 +0200 | [diff] [blame] | 24 | |
Harald Welte | ee497f2 | 2017-10-03 16:54:41 +0800 | [diff] [blame] | 25 | EXTRA_DIST = git-version-gen .version README.md osmo-release.mk osmo-release.sh |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 26 | |
Neels Hofmeyr | 44c15b7 | 2019-02-01 05:56:09 +0100 | [diff] [blame] | 27 | HTML = \ |
| 28 | $(top_builddir)/doc/core/html/index.html \ |
| 29 | $(top_builddir)/doc/gsm/html/index.html \ |
| 30 | $(top_builddir)/doc/vty/html/index.html \ |
| 31 | $(top_builddir)/doc/codec/html/index.html \ |
| 32 | $(top_builddir)/doc/coding/html/index.html \ |
| 33 | $(top_builddir)/doc/ctrl/html/index.html \ |
| 34 | $(top_builddir)/doc/gb/html/index.html |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 35 | |
Neels Hofmeyr | 44c15b7 | 2019-02-01 05:56:09 +0100 | [diff] [blame] | 36 | if HAVE_DOXYGEN |
Diego Elio Pettenò | 200710e | 2012-06-29 13:01:26 -0700 | [diff] [blame] | 37 | html_DATA = $(top_builddir)/doc/html.tar |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 38 | |
Neels Hofmeyr | 249fb71 | 2017-06-20 02:52:38 +0200 | [diff] [blame] | 39 | doc: $(html_DATA) |
| 40 | |
Neels Hofmeyr | 44c15b7 | 2019-02-01 05:56:09 +0100 | [diff] [blame] | 41 | $(html_DATA): apidoc |
| 42 | else |
| 43 | DOXYGEN=doxygen |
| 44 | endif |
| 45 | |
| 46 | .PHONY: apidoc |
| 47 | apidoc: $(HTML) |
Harald Welte | 7992af0 | 2011-08-17 19:37:26 +0200 | [diff] [blame] | 48 | cd $(top_builddir)/doc && tar cf html.tar */html |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 49 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 50 | # Support doxygen cross references from each library to each other library: |
| 51 | # First generate the docs to make sure all .tag files are in place. |
| 52 | # In a second run, generate the content with proper referencing. |
| 53 | # For example, libosmocore references tags from libosmovty and vice versa, |
| 54 | # so both need to generate tag files first, and then do another run. |
| 55 | # |
| 56 | # Generate each docs tree, and touch a libosmofoo.tag.prep file when done. |
| 57 | # It means that a libosmofoo.tag file is up-to-date. |
| 58 | # Touch a separate "*.prep" target: libosmofoo.tag as target would create |
| 59 | # circular dependency: we would rebuild all every time 'make' is invoked. |
| 60 | # The .prep file also depends on all the source files for that library. |
| 61 | |
Neels Hofmeyr | 375bf6d | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 62 | $(top_builddir)/doc/libosmocore.tag.prep: $(top_builddir)/Doxyfile.core \ |
| 63 | $(top_srcdir)/include/osmocom/core/*.h \ |
| 64 | $(top_srcdir)/src/*.[hc] \ |
| 65 | $(top_srcdir)/src/pseudotalloc/*.[hc] |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 66 | rm -rf $(top_builddir)/doc/core; mkdir -p $(top_builddir)/doc/core |
| 67 | rm -rf $(top_builddir)/doc/libosmocore.map |
| 68 | -$(DOXYGEN) $(top_builddir)/Doxyfile.core |
| 69 | touch "$@" |
| 70 | |
Neels Hofmeyr | 375bf6d | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 71 | $(top_builddir)/doc/libosmogsm.tag.prep: $(top_builddir)/Doxyfile.gsm \ |
| 72 | $(top_srcdir)/include/osmocom/gsm/*.h \ |
| 73 | $(top_srcdir)/include/osmocom/gsm/protocol/*.h \ |
| 74 | $(top_srcdir)/include/osmocom/crypt/*.h \ |
| 75 | $(top_srcdir)/src/gsm/*.c \ |
| 76 | $(top_srcdir)/src/gsm/milenage/*.[hc] |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 77 | rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm |
| 78 | rm -rf $(top_builddir)/doc/libosmogsm.map |
| 79 | -$(DOXYGEN) $(top_builddir)/Doxyfile.gsm |
| 80 | touch "$@" |
| 81 | |
Neels Hofmeyr | 375bf6d | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 82 | $(top_builddir)/doc/libosmovty.tag.prep: $(top_builddir)/Doxyfile.vty \ |
| 83 | $(top_srcdir)/include/osmocom/vty/*.h \ |
| 84 | $(top_srcdir)/src/vty/*.c |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 85 | rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty |
| 86 | rm -rf $(top_builddir)/doc/libosmovty.map |
| 87 | -$(DOXYGEN) $(top_builddir)/Doxyfile.vty |
| 88 | touch "$@" |
| 89 | |
Neels Hofmeyr | 375bf6d | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 90 | $(top_builddir)/doc/libosmocodec.tag.prep: $(top_builddir)/Doxyfile.codec \ |
| 91 | $(top_srcdir)/include/osmocom/codec/*.h \ |
| 92 | $(top_srcdir)/src/codec/*.c |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 93 | rm -rf $(top_builddir)/doc/codec; mkdir -p $(top_builddir)/doc/codec |
| 94 | rm -rf $(top_builddir)/doc/libosmocodec.map |
| 95 | -$(DOXYGEN) $(top_builddir)/Doxyfile.codec |
| 96 | touch "$@" |
| 97 | |
Neels Hofmeyr | 375bf6d | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 98 | $(top_builddir)/doc/libosmocoding.tag.prep: $(top_builddir)/Doxyfile.coding \ |
| 99 | $(top_srcdir)/include/osmocom/coding/*.h \ |
| 100 | $(top_srcdir)/src/coding/*.c |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 101 | rm -rf $(top_builddir)/doc/coding; mkdir -p $(top_builddir)/doc/coding |
| 102 | rm -rf $(top_builddir)/doc/libosmocoding.map |
| 103 | -$(DOXYGEN) $(top_builddir)/Doxyfile.coding |
| 104 | touch "$@" |
| 105 | |
Neels Hofmeyr | 375bf6d | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 106 | $(top_builddir)/doc/libosmoctrl.tag.prep: $(top_builddir)/Doxyfile.ctrl \ |
| 107 | $(top_srcdir)/include/osmocom/ctrl/*.h \ |
| 108 | $(top_srcdir)/src/ctrl/*.c |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 109 | rm -rf $(top_builddir)/doc/ctrl; mkdir -p $(top_builddir)/doc/ctrl |
| 110 | rm -rf $(top_builddir)/doc/libosmoctrl.map |
| 111 | -$(DOXYGEN) $(top_builddir)/Doxyfile.ctrl |
| 112 | touch "$@" |
| 113 | |
Neels Hofmeyr | 375bf6d | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 114 | $(top_builddir)/doc/libosmogb.tag.prep: $(top_builddir)/Doxyfile.gb \ |
| 115 | $(top_srcdir)/include/osmocom/gprs/*.h \ |
| 116 | $(top_srcdir)/src/gb/*.[hc] |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 117 | rm -rf $(top_builddir)/doc/gb; mkdir -p $(top_builddir)/doc/gb |
| 118 | rm -rf $(top_builddir)/doc/libosmogb.map |
| 119 | -$(DOXYGEN) $(top_builddir)/Doxyfile.gb |
| 120 | touch "$@" |
| 121 | |
| 122 | # Build for real once all depending .tag files are in place. |
| 123 | # Depend on the own .tag.prep file to avoid concurrent builds of the same doc |
| 124 | # tree, and to also depend on all the source files listed above. |
| 125 | # |
| 126 | # Each library should depend on all the tag.prep files of which it lists .tag |
| 127 | # files in Doxyfile under TAGFILES. |
| 128 | # |
| 129 | # In turn, include all .tag files in TAGFILES of libraries to which "\ref" |
| 130 | # references point. |
| 131 | # |
| 132 | # Easiest is to just depend on all tag.prep files all across everywhere. |
| 133 | |
| 134 | $(top_builddir)/doc/core/html/index.html: $(top_builddir)/doc/libosmocore.tag.prep \ |
| 135 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 136 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 137 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 138 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 139 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 140 | $(top_builddir)/doc/libosmogb.tag.prep |
| 141 | rm -rf $(top_builddir)/doc/core; mkdir -p $(top_builddir)/doc/core |
Harald Welte | c7859ed | 2011-08-20 12:54:17 +0200 | [diff] [blame] | 142 | $(DOXYGEN) Doxyfile.core |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 143 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 144 | $(top_builddir)/doc/gsm/html/index.html: $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 145 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 146 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 147 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 148 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 149 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 150 | $(top_builddir)/doc/libosmogb.tag.prep |
| 151 | rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 152 | $(DOXYGEN) Doxyfile.gsm |
| 153 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 154 | $(top_builddir)/doc/vty/html/index.html: $(top_builddir)/doc/libosmovty.tag.prep \ |
| 155 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 156 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 157 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 158 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 159 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 160 | $(top_builddir)/doc/libosmogb.tag.prep |
| 161 | rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 162 | $(DOXYGEN) Doxyfile.vty |
| 163 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 164 | $(top_builddir)/doc/codec/html/index.html: $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 165 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 166 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 167 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 168 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 169 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 170 | $(top_builddir)/doc/libosmogb.tag.prep |
| 171 | rm -rf $(top_builddir)/doc/codec; mkdir -p $(top_builddir)/doc/codec |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 172 | $(DOXYGEN) Doxyfile.codec |
| 173 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 174 | $(top_builddir)/doc/coding/html/index.html: $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 175 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 176 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 177 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 178 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 179 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 180 | $(top_builddir)/doc/libosmogb.tag.prep |
| 181 | rm -rf $(top_builddir)/doc/coding; mkdir -p $(top_builddir)/doc/coding |
Vadim Yanitskiy | 3262f82 | 2016-09-23 01:48:59 +0700 | [diff] [blame] | 182 | $(DOXYGEN) Doxyfile.coding |
| 183 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 184 | $(top_builddir)/doc/ctrl/html/index.html: $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 185 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 186 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 187 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 188 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 189 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 190 | $(top_builddir)/doc/libosmogb.tag.prep |
| 191 | rm -rf $(top_builddir)/doc/ctrl; mkdir -p $(top_builddir)/doc/ctrl |
Harald Welte | b418682 | 2018-05-26 17:25:11 +0200 | [diff] [blame] | 192 | $(DOXYGEN) Doxyfile.ctrl |
| 193 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 194 | $(top_builddir)/doc/gb/html/index.html: $(top_builddir)/doc/libosmogb.tag.prep \ |
| 195 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 196 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 197 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 198 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 199 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 200 | $(top_builddir)/doc/libosmoctrl.tag.prep |
| 201 | rm -rf $(top_builddir)/doc/gb; mkdir -p $(top_builddir)/doc/gb |
Neels Hofmeyr | 249fb71 | 2017-06-20 02:52:38 +0200 | [diff] [blame] | 202 | $(DOXYGEN) Doxyfile.gb |
| 203 | |
Neels Hofmeyr | 44c15b7 | 2019-02-01 05:56:09 +0100 | [diff] [blame] | 204 | if HAVE_DOXYGEN |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 205 | install-data-hook: |
Diego Elio Pettenò | 200710e | 2012-06-29 13:01:26 -0700 | [diff] [blame] | 206 | cd $(DESTDIR)$(htmldir) && tar xf html.tar && rm -f html.tar |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 207 | |
| 208 | uninstall-hook: |
Harald Welte | b418682 | 2018-05-26 17:25:11 +0200 | [diff] [blame] | 209 | cd $(DESTDIR)$(htmldir) && rm -rf {core,gsm,vty,codec,coding,ctrl,gb} |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 210 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame] | 211 | 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 |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 212 | endif |
Harald Welte | 47945f0 | 2011-08-20 13:00:37 +0200 | [diff] [blame] | 213 | |
| 214 | MOSTLYCLEANFILES = $(DX_CLEAN) |