Initial mesh2 api import
[oweals/gnunet.git] / src / mesh / Makefile.am
1 INCLUDES = -I$(top_srcdir)/src/include
2
3 if MINGW
4   WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
5 endif
6
7 if USE_COVERAGE
8   AM_CFLAGS = --coverage -O0
9   XLIB = -lgcov
10 endif
11
12 pkgcfgdir= $(pkgdatadir)/config.d/
13
14 libexecdir= $(pkglibdir)/libexec/
15
16 pkgcfg_DATA = \
17   mesh.conf
18
19 plugindir = $(libdir)/gnunet
20
21 AM_CLFAGS = -g
22
23 if HAVE_EXPERIMENTAL
24   EXP_LIB = libgnunetmesh2.la
25   EXP_LIBEXEC = gnunet-service-mesh-new
26 endif
27
28 libexec_PROGRAMS = \
29  gnunet-service-mesh $(EXP_LIBEXEC)
30
31 bin_PROGRAMS = \
32  gnunet-mesh
33
34 lib_LTLIBRARIES = \
35   libgnunetmesh.la $(EXP_LIB)
36
37 plugin_LTLIBRARIES = \
38  libgnunet_plugin_block_mesh.la
39
40 libgnunet_plugin_block_mesh_la_SOURCES = \
41  plugin_block_mesh.c
42 libgnunet_plugin_block_mesh_la_LIBADD = \
43  $(top_builddir)/src/block/libgnunetblock.la \
44  $(top_builddir)/src/util/libgnunetutil.la
45 libgnunet_plugin_block_mesh_la_LDFLAGS = \
46  $(GN_PLUGIN_LDFLAGS)
47 libgnunet_plugin_block_mesh_la_DEPENDENCIES = \
48  $(top_builddir)/src/block/libgnunetblock.la \
49  $(top_builddir)/src/util/libgnunetutil.la
50
51 libgnunetmesh_la_SOURCES = \
52   mesh_api.c mesh_common.c
53 libgnunetmesh_la_LIBADD = \
54   $(top_builddir)/src/util/libgnunetutil.la \
55   $(XLIB) \
56   $(LTLIBINTL)
57 libgnunetmesh_la_LDFLAGS = \
58   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
59   -version-info 2:1:1
60
61 libgnunetmesh2_la_SOURCES = \
62   mesh2_api.c mesh_common.c
63 libgnunetmesh2_la_LIBADD = \
64   $(top_builddir)/src/util/libgnunetutil.la \
65   $(XLIB) \
66   $(LTLIBINTL)
67 libgnunetmesh2_la_LDFLAGS = \
68   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
69   -version-info 2:2:1
70
71
72 gnunet_service_mesh_SOURCES = \
73  gnunet-service-mesh.c \
74  mesh_tunnel_tree.c mesh_tunnel_tree.h \
75  mesh_common.c
76 gnunet_service_mesh_CFLAGS = $(AM_CFLAGS)
77 gnunet_service_mesh_LDADD = \
78   $(top_builddir)/src/util/libgnunetutil.la \
79   $(top_builddir)/src/core/libgnunetcore.la \
80   $(top_builddir)/src/dht/libgnunetdht.la \
81   $(top_builddir)/src/statistics/libgnunetstatistics.la \
82   $(top_builddir)/src/block/libgnunetblock.la \
83   $(top_builddir)/src/regex/libgnunetregex.la
84 gnunet_service_mesh_DEPENDENCIES = \
85   $(top_builddir)/src/util/libgnunetutil.la \
86   $(top_builddir)/src/core/libgnunetcore.la \
87   $(top_builddir)/src/dht/libgnunetdht.la \
88   $(top_builddir)/src/statistics/libgnunetstatistics.la \
89   $(top_builddir)/src/block/libgnunetblock.la \
90   $(top_builddir)/src/regex/libgnunetregex.la
91 if LINUX
92 gnunet_service_mesh_LDFLAGS = -lrt
93 endif
94
95 gnunet_mesh_SOURCES = \
96  gnunet-mesh.c         
97 gnunet_mesh_LDADD = \
98   $(top_builddir)/src/mesh/libgnunetmesh.la \
99   $(top_builddir)/src/util/libgnunetutil.la
100 gnunet_mesh_DEPENDENCIES = \
101   libgnunetmesh.la
102
103 gnunet_service_mesh_new_SOURCES = \
104  gnunet-service-mesh-new.c \
105  mesh_tunnel_tree.c \
106  mesh_common.c
107 gnunet_service_mesh_new_CFLAGS = $(AM_CFLAGS)
108 gnunet_service_mesh_new_LDADD = \
109   $(top_builddir)/src/util/libgnunetutil.la \
110   $(top_builddir)/src/core/libgnunetcore.la \
111   $(top_builddir)/src/dht/libgnunetdht.la \
112   $(top_builddir)/src/statistics/libgnunetstatistics.la \
113   $(top_builddir)/src/block/libgnunetblock.la \
114   $(top_builddir)/src/regex/libgnunetregex.la
115 gnunet_service_mesh_new_DEPENDENCIES = \
116   $(top_builddir)/src/util/libgnunetutil.la \
117   $(top_builddir)/src/core/libgnunetcore.la \
118   $(top_builddir)/src/dht/libgnunetdht.la \
119   $(top_builddir)/src/statistics/libgnunetstatistics.la \
120   $(top_builddir)/src/block/libgnunetblock.la \
121   $(top_builddir)/src/regex/libgnunetregex.la
122 if LINUX
123 gnunet_service_mesh_new_LDFLAGS = -lrt
124 endif
125
126
127 noinst_LIBRARIES = libgnunetmeshtest.a
128
129 libgnunetmeshtest_a_SOURCES = \
130   mesh_test_lib.c mesh_test_lib.h
131 libgnunetmeshtest_a_LIBADD = \
132  $(top_builddir)/src/util/libgnunetutil.la \
133  $(top_builddir)/src/testbed/libgnunettestbed.la \
134  $(top_builddir)/src/mesh/libgnunetmesh.la
135 libgnunetmeshtest_a_DEPENDENCIES = \
136   libgnunetmesh.la
137
138
139 check_PROGRAMS = \
140  test_mesh_api \
141  test_mesh_tree_api \
142  test_mesh_local_1 \
143  test_mesh_local_2 \
144  test_mesh_local_traffic_fwd \
145  test_mesh_local_traffic_bck \
146  test_mesh_local_traffic_both \
147  test_mesh_2dtorus \
148  test_mesh_regex \
149  test_mesh_small_unicast \
150  test_mesh_small_multicast \
151  test_mesh_small_signal \
152  test_mesh_small_speed \
153  test_mesh_small_speed_nobuf \
154  test_mesh_small_speed_min \
155  test_mesh_small_speed_backwards \
156  test_mesh_small_speed_nobuf_backwards \
157  test_mesh_small_speed_min_backwards \
158  test_mesh_small_speed_ack
159
160 test_mesh_api_SOURCES = \
161  test_mesh_api.c
162 test_mesh_api_LDADD = \
163  $(top_builddir)/src/util/libgnunetutil.la \
164  $(top_builddir)/src/testing/libgnunettesting.la \
165  $(top_builddir)/src/mesh/libgnunetmesh.la
166 test_mesh_api_DEPENDENCIES = \
167   libgnunetmesh.la \
168    $(top_builddir)/src/util/libgnunetutil.la
169
170 test_mesh_tree_api_SOURCES = \
171  test_mesh_tree_api.c
172 test_mesh_tree_api_LDADD = \
173  $(top_builddir)/src/util/libgnunetutil.la \
174  $(top_builddir)/src/dht/libgnunetdht.la
175 test_mesh_tree_api_DEPENDENCIES = \
176   libgnunetmesh.la \
177   $(top_builddir)/src/dht/libgnunetdht.la
178
179 test_mesh_local_1_SOURCES = \
180  test_mesh_local_1.c
181 test_mesh_local_1_LDADD = \
182  $(top_builddir)/src/util/libgnunetutil.la \
183  $(top_builddir)/src/testing/libgnunettesting.la \
184  $(top_builddir)/src/mesh/libgnunetmesh.la
185 test_mesh_local_1_DEPENDENCIES = \
186   libgnunetmesh.la
187
188 test_mesh_local_2_SOURCES = \
189  test_mesh_local_2.c
190 test_mesh_local_2_LDADD = \
191  $(top_builddir)/src/util/libgnunetutil.la \
192  $(top_builddir)/src/testing/libgnunettesting.la \
193  $(top_builddir)/src/mesh/libgnunetmesh.la
194 test_mesh_local_2_DEPENDENCIES = \
195   libgnunetmesh.la
196
197 test_mesh_local_traffic_fwd_SOURCES = \
198  test_mesh_local_traffic.c
199 test_mesh_local_traffic_fwd_LDADD = \
200  $(top_builddir)/src/util/libgnunetutil.la \
201  $(top_builddir)/src/testing/libgnunettesting.la \
202  $(top_builddir)/src/mesh/libgnunetmesh.la
203 test_mesh_local_traffic_fwd_DEPENDENCIES = \
204   libgnunetmesh.la
205
206 test_mesh_local_traffic_bck_SOURCES = \
207  test_mesh_local_traffic.c
208 test_mesh_local_traffic_bck_LDADD = \
209  $(top_builddir)/src/util/libgnunetutil.la \
210  $(top_builddir)/src/testing/libgnunettesting.la \
211  $(top_builddir)/src/mesh/libgnunetmesh.la
212 test_mesh_local_traffic_bck_DEPENDENCIES = \
213   libgnunetmesh.la
214
215 test_mesh_local_traffic_both_SOURCES = \
216  test_mesh_local_traffic.c
217 test_mesh_local_traffic_both_LDADD = \
218  $(top_builddir)/src/util/libgnunetutil.la \
219  $(top_builddir)/src/testing/libgnunettesting.la \
220  $(top_builddir)/src/mesh/libgnunetmesh.la
221 test_mesh_local_traffic_both_DEPENDENCIES = \
222   libgnunetmesh.la
223
224
225 ld_mesh_test_lib = \
226   $(top_builddir)/src/mesh/libgnunetmeshtest.a \
227   $(top_builddir)/src/mesh/libgnunetmesh.la \
228   $(top_builddir)/src/testbed/libgnunettestbed.la \
229   $(top_builddir)/src/util/libgnunetutil.la 
230
231 dep_mesh_test_lib = \
232   libgnunetmeshtest.a \
233   libgnunetmesh.la
234
235 test_mesh_2dtorus_SOURCES = \
236  test_mesh_2dtorus.c
237 test_mesh_2dtorus_LDADD = $(ld_mesh_test_lib)
238 test_mesh_2dtorus_DEPENDENCIES = $(dep_mesh_test_lib)
239
240 test_mesh_regex_SOURCES = \
241  test_mesh_regex.c
242 test_mesh_regex_LDADD = $(ld_mesh_test_lib)
243 test_mesh_regex_DEPENDENCIES = $(dep_mesh_test_lib)
244
245 test_mesh_small_unicast_SOURCES = \
246  test_mesh_small.c
247 test_mesh_small_unicast_LDADD = $(ld_mesh_test_lib)
248 test_mesh_small_unicast_DEPENDENCIES = $(dep_mesh_test_lib)
249
250 test_mesh_small_multicast_SOURCES = \
251  test_mesh_small.c
252 test_mesh_small_multicast_LDADD = $(ld_mesh_test_lib)
253 test_mesh_small_multicast_DEPENDENCIES = $(dep_mesh_test_lib)
254
255 test_mesh_small_signal_SOURCES = \
256  test_mesh_small.c
257 test_mesh_small_signal_LDADD = $(ld_mesh_test_lib)
258 test_mesh_small_signal_DEPENDENCIES = $(dep_mesh_test_lib)
259
260 test_mesh_small_speed_ack_SOURCES = \
261  test_mesh_small.c
262 test_mesh_small_speed_ack_LDADD = $(ld_mesh_test_lib)
263 test_mesh_small_speed_ack_DEPENDENCIES = $(dep_mesh_test_lib)
264
265 test_mesh_small_speed_SOURCES = \
266  test_mesh_small.c
267 test_mesh_small_speed_LDADD = $(ld_mesh_test_lib)
268 test_mesh_small_speed_DEPENDENCIES = $(dep_mesh_test_lib)
269
270 test_mesh_small_speed_min_SOURCES = \
271  test_mesh_small.c
272 test_mesh_small_speed_min_LDADD = $(ld_mesh_test_lib)
273 test_mesh_small_speed_min_DEPENDENCIES = $(dep_mesh_test_lib)
274
275 test_mesh_small_speed_nobuf_SOURCES = \
276  test_mesh_small.c
277 test_mesh_small_speed_nobuf_LDADD = $(ld_mesh_test_lib)
278 test_mesh_small_speed_nobuf_DEPENDENCIES = $(dep_mesh_test_lib)
279
280 test_mesh_small_speed_backwards_SOURCES = \
281  test_mesh_small.c
282 test_mesh_small_speed_backwards_LDADD = $(ld_mesh_test_lib)
283 test_mesh_small_speed_backwards_DEPENDENCIES = $(dep_mesh_test_lib)
284
285 test_mesh_small_speed_min_backwards_SOURCES = \
286  test_mesh_small.c
287 test_mesh_small_speed_min_backwards_LDADD = $(ld_mesh_test_lib)
288 test_mesh_small_speed_min_backwards_DEPENDENCIES = $(dep_mesh_test_lib)
289
290 test_mesh_small_speed_nobuf_backwards_SOURCES = \
291  test_mesh_small.c
292 test_mesh_small_speed_nobuf_backwards_LDADD = $(ld_mesh_test_lib)
293 test_mesh_small_speed_nobuf_backwards_DEPENDENCIES = $(dep_mesh_test_lib)
294
295
296 if ENABLE_TEST_RUN
297 TESTS = test_mesh_api \
298  test_mesh_tree_api \
299  test_mesh_local_1 test_mesh_local_2 \
300  test_mesh_local_traffic_fwd \
301  test_mesh_local_traffic_bck \
302  test_mesh_local_traffic_both \
303  test_mesh_2dtorus test_mesh_regex \
304  test_mesh_small_unicast test_mesh_small_multicast \
305  test_mesh_small_signal \
306  test_mesh_small_speed \
307  test_mesh_small_speed_min \
308  test_mesh_small_speed_nobuf \
309  test_mesh_small_speed_backwards \
310  test_mesh_small_speed_min_backwards
311 endif
312
313 EXTRA_DIST = \
314   mesh.h mesh_protocol.h \
315   test_mesh.conf \
316   test_mesh_2dtorus.conf \
317   test_mesh_small.conf