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 | |
| 27 | if HAVE_DOXYGEN |
| 28 | |
Diego Elio Pettenò | 200710e | 2012-06-29 13:01:26 -0700 | [diff] [blame] | 29 | html_DATA = $(top_builddir)/doc/html.tar |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 30 | |
Neels Hofmeyr | 249fb71 | 2017-06-20 02:52:38 +0200 | [diff] [blame] | 31 | doc: $(html_DATA) |
| 32 | |
Diego Elio Pettenò | 200710e | 2012-06-29 13:01:26 -0700 | [diff] [blame] | 33 | $(html_DATA): $(top_builddir)/doc/core/html/index.html \ |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 34 | $(top_builddir)/doc/gsm/html/index.html \ |
| 35 | $(top_builddir)/doc/vty/html/index.html \ |
Vadim Yanitskiy | 3262f82 | 2016-09-23 01:48:59 +0700 | [diff] [blame] | 36 | $(top_builddir)/doc/codec/html/index.html \ |
Neels Hofmeyr | 249fb71 | 2017-06-20 02:52:38 +0200 | [diff] [blame] | 37 | $(top_builddir)/doc/coding/html/index.html \ |
Harald Welte | b418682 | 2018-05-26 17:25:11 +0200 | [diff] [blame] | 38 | $(top_builddir)/doc/ctrl/html/index.html \ |
Neels Hofmeyr | 249fb71 | 2017-06-20 02:52:38 +0200 | [diff] [blame] | 39 | $(top_builddir)/doc/gb/html/index.html |
Harald Welte | 7992af0 | 2011-08-17 19:37:26 +0200 | [diff] [blame] | 40 | cd $(top_builddir)/doc && tar cf html.tar */html |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 41 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 42 | # Support doxygen cross references from each library to each other library: |
| 43 | # First generate the docs to make sure all .tag files are in place. |
| 44 | # In a second run, generate the content with proper referencing. |
| 45 | # For example, libosmocore references tags from libosmovty and vice versa, |
| 46 | # so both need to generate tag files first, and then do another run. |
| 47 | # |
| 48 | # Generate each docs tree, and touch a libosmofoo.tag.prep file when done. |
| 49 | # It means that a libosmofoo.tag file is up-to-date. |
| 50 | # Touch a separate "*.prep" target: libosmofoo.tag as target would create |
| 51 | # circular dependency: we would rebuild all every time 'make' is invoked. |
| 52 | # The .prep file also depends on all the source files for that library. |
| 53 | |
| 54 | $(top_builddir)/doc/libosmocore.tag.prep: $(top_builddir)/Doxyfile.core |
| 55 | rm -rf $(top_builddir)/doc/core; mkdir -p $(top_builddir)/doc/core |
| 56 | rm -rf $(top_builddir)/doc/libosmocore.map |
| 57 | -$(DOXYGEN) $(top_builddir)/Doxyfile.core |
| 58 | touch "$@" |
| 59 | |
| 60 | $(top_builddir)/doc/libosmogsm.tag.prep: $(top_builddir)/Doxyfile.gsm |
| 61 | rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm |
| 62 | rm -rf $(top_builddir)/doc/libosmogsm.map |
| 63 | -$(DOXYGEN) $(top_builddir)/Doxyfile.gsm |
| 64 | touch "$@" |
| 65 | |
| 66 | $(top_builddir)/doc/libosmovty.tag.prep: $(top_builddir)/Doxyfile.vty |
| 67 | rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty |
| 68 | rm -rf $(top_builddir)/doc/libosmovty.map |
| 69 | -$(DOXYGEN) $(top_builddir)/Doxyfile.vty |
| 70 | touch "$@" |
| 71 | |
| 72 | $(top_builddir)/doc/libosmocodec.tag.prep: $(top_builddir)/Doxyfile.codec |
| 73 | rm -rf $(top_builddir)/doc/codec; mkdir -p $(top_builddir)/doc/codec |
| 74 | rm -rf $(top_builddir)/doc/libosmocodec.map |
| 75 | -$(DOXYGEN) $(top_builddir)/Doxyfile.codec |
| 76 | touch "$@" |
| 77 | |
| 78 | $(top_builddir)/doc/libosmocoding.tag.prep: $(top_builddir)/Doxyfile.coding |
| 79 | rm -rf $(top_builddir)/doc/coding; mkdir -p $(top_builddir)/doc/coding |
| 80 | rm -rf $(top_builddir)/doc/libosmocoding.map |
| 81 | -$(DOXYGEN) $(top_builddir)/Doxyfile.coding |
| 82 | touch "$@" |
| 83 | |
| 84 | $(top_builddir)/doc/libosmoctrl.tag.prep: $(top_builddir)/Doxyfile.ctrl |
| 85 | rm -rf $(top_builddir)/doc/ctrl; mkdir -p $(top_builddir)/doc/ctrl |
| 86 | rm -rf $(top_builddir)/doc/libosmoctrl.map |
| 87 | -$(DOXYGEN) $(top_builddir)/Doxyfile.ctrl |
| 88 | touch "$@" |
| 89 | |
| 90 | $(top_builddir)/doc/libosmogb.tag.prep: $(top_builddir)/Doxyfile.gb |
| 91 | rm -rf $(top_builddir)/doc/gb; mkdir -p $(top_builddir)/doc/gb |
| 92 | rm -rf $(top_builddir)/doc/libosmogb.map |
| 93 | -$(DOXYGEN) $(top_builddir)/Doxyfile.gb |
| 94 | touch "$@" |
| 95 | |
| 96 | # Build for real once all depending .tag files are in place. |
| 97 | # Depend on the own .tag.prep file to avoid concurrent builds of the same doc |
| 98 | # tree, and to also depend on all the source files listed above. |
| 99 | # |
| 100 | # Each library should depend on all the tag.prep files of which it lists .tag |
| 101 | # files in Doxyfile under TAGFILES. |
| 102 | # |
| 103 | # In turn, include all .tag files in TAGFILES of libraries to which "\ref" |
| 104 | # references point. |
| 105 | # |
| 106 | # Easiest is to just depend on all tag.prep files all across everywhere. |
| 107 | |
| 108 | $(top_builddir)/doc/core/html/index.html: $(top_builddir)/doc/libosmocore.tag.prep \ |
| 109 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 110 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 111 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 112 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 113 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 114 | $(top_builddir)/doc/libosmogb.tag.prep |
| 115 | rm -rf $(top_builddir)/doc/core; mkdir -p $(top_builddir)/doc/core |
Harald Welte | c7859ed | 2011-08-20 12:54:17 +0200 | [diff] [blame] | 116 | $(DOXYGEN) Doxyfile.core |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 117 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 118 | $(top_builddir)/doc/gsm/html/index.html: $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 119 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 120 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 121 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 122 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 123 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 124 | $(top_builddir)/doc/libosmogb.tag.prep |
| 125 | rm -rf $(top_builddir)/doc/gsm; mkdir -p $(top_builddir)/doc/gsm |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 126 | $(DOXYGEN) Doxyfile.gsm |
| 127 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 128 | $(top_builddir)/doc/vty/html/index.html: $(top_builddir)/doc/libosmovty.tag.prep \ |
| 129 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 130 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 131 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 132 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 133 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 134 | $(top_builddir)/doc/libosmogb.tag.prep |
| 135 | rm -rf $(top_builddir)/doc/vty; mkdir -p $(top_builddir)/doc/vty |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 136 | $(DOXYGEN) Doxyfile.vty |
| 137 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 138 | $(top_builddir)/doc/codec/html/index.html: $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 139 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 140 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 141 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 142 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 143 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 144 | $(top_builddir)/doc/libosmogb.tag.prep |
| 145 | rm -rf $(top_builddir)/doc/codec; mkdir -p $(top_builddir)/doc/codec |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 146 | $(DOXYGEN) Doxyfile.codec |
| 147 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 148 | $(top_builddir)/doc/coding/html/index.html: $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 149 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 150 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 151 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 152 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 153 | $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 154 | $(top_builddir)/doc/libosmogb.tag.prep |
| 155 | rm -rf $(top_builddir)/doc/coding; mkdir -p $(top_builddir)/doc/coding |
Vadim Yanitskiy | 3262f82 | 2016-09-23 01:48:59 +0700 | [diff] [blame] | 156 | $(DOXYGEN) Doxyfile.coding |
| 157 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 158 | $(top_builddir)/doc/ctrl/html/index.html: $(top_builddir)/doc/libosmoctrl.tag.prep \ |
| 159 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 160 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 161 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 162 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 163 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 164 | $(top_builddir)/doc/libosmogb.tag.prep |
| 165 | rm -rf $(top_builddir)/doc/ctrl; mkdir -p $(top_builddir)/doc/ctrl |
Harald Welte | b418682 | 2018-05-26 17:25:11 +0200 | [diff] [blame] | 166 | $(DOXYGEN) Doxyfile.ctrl |
| 167 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 168 | $(top_builddir)/doc/gb/html/index.html: $(top_builddir)/doc/libosmogb.tag.prep \ |
| 169 | $(top_builddir)/doc/libosmocore.tag.prep \ |
| 170 | $(top_builddir)/doc/libosmogsm.tag.prep \ |
| 171 | $(top_builddir)/doc/libosmovty.tag.prep \ |
| 172 | $(top_builddir)/doc/libosmocodec.tag.prep \ |
| 173 | $(top_builddir)/doc/libosmocoding.tag.prep \ |
| 174 | $(top_builddir)/doc/libosmoctrl.tag.prep |
| 175 | rm -rf $(top_builddir)/doc/gb; mkdir -p $(top_builddir)/doc/gb |
Neels Hofmeyr | 249fb71 | 2017-06-20 02:52:38 +0200 | [diff] [blame] | 176 | $(DOXYGEN) Doxyfile.gb |
| 177 | |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 178 | install-data-hook: |
Diego Elio Pettenò | 200710e | 2012-06-29 13:01:26 -0700 | [diff] [blame] | 179 | cd $(DESTDIR)$(htmldir) && tar xf html.tar && rm -f html.tar |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 180 | |
| 181 | uninstall-hook: |
Harald Welte | b418682 | 2018-05-26 17:25:11 +0200 | [diff] [blame] | 182 | cd $(DESTDIR)$(htmldir) && rm -rf {core,gsm,vty,codec,coding,ctrl,gb} |
Harald Welte | 21e73c2 | 2011-08-17 19:33:06 +0200 | [diff] [blame] | 183 | |
Neels Hofmeyr | 2fe50ac | 2019-02-01 05:25:36 +0100 | [diff] [blame^] | 184 | 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] | 185 | endif |
Harald Welte | 47945f0 | 2011-08-20 13:00:37 +0200 | [diff] [blame] | 186 | |
| 187 | MOSTLYCLEANFILES = $(DX_CLEAN) |