doxygen
[oweals/gnunet.git] / src / transport / Makefile.am
1 INCLUDES = -I$(top_srcdir)/src/include
2
3 plugindir = $(libdir)/gnunet
4
5 if MINGW
6   WINFLAGS = -Wl,--no-undefined -Wl,--export-all-symbols
7   NATBIN = gnunet-nat-server gnunet-nat-client
8   NATSERVER = gnunet-nat-server-windows.c
9   NATCLIENT = gnunet-nat-client-windows.c
10 else
11   NATSERVER = gnunet-nat-server.c
12   NATCLIENT = gnunet-nat-client.c
13 endif
14
15 if HAVE_MHD
16  GN_LIBMHD = -lmicrohttpd
17  HTTP_PLUGIN_LA = libgnunet_plugin_transport_http.la
18  HTTP_PLUGIN_TEST = test_plugin_transport_http
19  HTTP_API_TEST = test_transport_api_http
20  HTTP_REL_TEST = test_transport_api_reliability_http
21  HTTP_QUOTA_TEST = test_quota_compliance_http \
22                    test_quota_compliance_http_asymmetric_recv_constant
23  HTTPS_PLUGIN_LA = libgnunet_plugin_transport_https.la
24  HTTPS_PLUGIN_TEST = test_plugin_transport_https
25  HTTPS_API_TEST = test_transport_api_https
26  HTTPS_REL_TEST = test_transport_api_reliability_https
27  HTTPS_QUOTA_TEST = test_quota_compliance_https \
28                 test_quota_compliance_https_asymmetric_recv_constant
29 endif
30
31 if USE_COVERAGE
32   AM_CFLAGS = --coverage -O0
33 endif
34
35 if HAVE_PCAP
36 if LINUX
37  WANBIN = gnunet-transport-wlan-helper
38  WLAN_PLUGIN_LA = libgnunet_plugin_transport_wlan.la
39  WLAN_API_TEST =
40 # WLAN_API_TEST = test_transport_api_wlan
41 endif
42 endif
43
44 if LINUX
45 NATBIN = gnunet-nat-server gnunet-nat-client
46 install-exec-hook:
47         chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
48         chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
49 else
50 install-exec-hook:
51 endif
52
53 #noinst_PROGRAMS = ${check_PROGRAMS}
54
55 lib_LTLIBRARIES = \
56   libgnunettransport.la
57
58 libgnunettransport_la_SOURCES = \
59   transport_api.c transport.h \
60   transport_api_blacklist.c \
61   transport_api_address_lookup.c 
62 libgnunettransport_la_LIBADD = \
63   $(top_builddir)/src/hello/libgnunethello.la \
64   $(top_builddir)/src/util/libgnunetutil.la \
65   $(GN_LIBINTL) 
66 libgnunettransport_la_LDFLAGS = \
67   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
68   -version-info 0:0:0
69
70
71 bin_PROGRAMS = \
72  gnunet-transport \
73  $(WANBIN) \
74  gnunet-service-transport $(NATBIN)
75
76 bin_SCRIPTS = \
77  gnunet-transport-certificate-creation
78
79 gnunet_nat_server_SOURCES = \
80  $(NATSERVER)
81
82     
83 gnunet_transport_wlan_helper_SOURCES = \
84  gnunet-transport-wlan-helper.c
85 gnunet_transport_wlan_helper_LDADD = \
86   $(top_builddir)/src/util/libgnunetutil.la \
87  -lpcap
88
89 gnunet_nat_client_SOURCES = \
90  $(NATCLIENT)         
91
92 gnunet_transport_SOURCES = \
93  gnunet-transport.c         
94 gnunet_transport_LDADD = \
95   $(top_builddir)/src/transport/libgnunettransport.la \
96   $(top_builddir)/src/util/libgnunetutil.la \
97   $(GN_LIBINTL)
98 gnunet_transport_DEPENDENCIES = \
99   libgnunettransport.la                         
100
101 gnunet_service_transport_SOURCES = \
102  gnunet-service-transport.c plugin_transport.h 
103 gnunet_service_transport_LDADD = \
104   $(top_builddir)/src/hello/libgnunethello.la \
105   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
106   $(top_builddir)/src/statistics/libgnunetstatistics.la \
107   $(top_builddir)/src/util/libgnunetutil.la \
108   $(GN_LIBINTL)
109 gnunet_service_transport_DEPENDENCIES = \
110   libgnunettransport.la                         
111
112
113 plugin_LTLIBRARIES = \
114   libgnunet_plugin_transport_tcp.la \
115   libgnunet_plugin_transport_udp.la \
116   $(HTTP_PLUGIN_LA) \
117   $(HTTPS_PLUGIN_LA) \
118   $(WLAN_PLUGIN_LA) \
119   libgnunet_plugin_transport_template.la
120 # TODO: add nat, etc.
121
122 libgnunet_plugin_transport_tcp_la_SOURCES = \
123   plugin_transport_tcp.c
124 libgnunet_plugin_transport_tcp_la_LIBADD = \
125   $(top_builddir)/src/hello/libgnunethello.la \
126   $(top_builddir)/src/statistics/libgnunetstatistics.la \
127   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
128   $(top_builddir)/src/nat/libgnunetnat.la \
129   $(top_builddir)/src/util/libgnunetutil.la 
130 libgnunet_plugin_transport_tcp_la_LDFLAGS = \
131  $(GN_PLUGIN_LDFLAGS)
132
133 libgnunet_plugin_transport_template_la_SOURCES = \
134   plugin_transport_template.c
135 libgnunet_plugin_transport_template_la_LIBADD = \
136   $(top_builddir)/src/util/libgnunetutil.la 
137 libgnunet_plugin_transport_template_la_LDFLAGS = \
138  $(GN_PLUGIN_LDFLAGS)
139
140 if HAVE_PCAP
141 if LINUX
142 libgnunet_plugin_transport_wlan_la_SOURCES = \
143         plugin_transport_wlan.c
144 libgnunet_plugin_transport_wlan_la_LIBADD = \
145         $(top_builddir)/src/hello/libgnunethello.la \
146         $(top_builddir)/src/statistics/libgnunetstatistics.la \
147         $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
148         $(top_builddir)/src/util/libgnunetutil.la 
149 libgnunet_plugin_transport_wlan_la_LDFLAGS = \
150         $(GN_PLUGIN_LDFLAGS)
151 endif
152 endif
153
154 libgnunet_plugin_transport_udp_la_SOURCES = \
155   plugin_transport_udp.c
156 libgnunet_plugin_transport_udp_la_LIBADD = \
157   $(top_builddir)/src/hello/libgnunethello.la \
158   $(top_builddir)/src/statistics/libgnunetstatistics.la \
159   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
160   $(top_builddir)/src/util/libgnunetutil.la 
161 libgnunet_plugin_transport_udp_la_LDFLAGS = \
162  $(GN_PLUGIN_LDFLAGS)
163
164 #libgnunet_plugin_transport_udp_nat_la_SOURCES = \
165 #  plugin_transport_udp_nat.c
166 #libgnunet_plugin_transport_udp_nat_la_LIBADD = \
167 #  $(top_builddir)/src/hello/libgnunethello.la \
168 #  $(top_builddir)/src/statistics/libgnunetstatistics.la \
169 #  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
170 #  $(top_builddir)/src/util/libgnunetutil.la 
171 #libgnunet_plugin_transport_udp_nat_la_LDFLAGS = \
172 # $(GN_PLUGIN_LDFLAGS)
173
174 if HAVE_MHD 
175 libgnunet_plugin_transport_http_la_SOURCES = \
176   plugin_transport_http.c
177 libgnunet_plugin_transport_http_la_LIBADD = \
178   $(top_builddir)/src/hello/libgnunethello.la \
179   $(top_builddir)/src/statistics/libgnunetstatistics.la \
180   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
181   @LIBCURL@ \
182   $(top_builddir)/src/util/libgnunetutil.la 
183 libgnunet_plugin_transport_http_la_LDFLAGS = \
184  $(GN_LIBMHD) \
185  $(GN_PLUGIN_LDFLAGS)
186
187 libgnunet_plugin_transport_https_la_SOURCES = \
188   plugin_transport_http.c
189 libgnunet_plugin_transport_https_la_LIBADD = \
190   $(top_builddir)/src/hello/libgnunethello.la \
191   $(top_builddir)/src/statistics/libgnunetstatistics.la \
192   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
193   @LIBCURL@ \
194   $(top_builddir)/src/util/libgnunetutil.la 
195 libgnunet_plugin_transport_https_la_LDFLAGS = \
196  $(GN_LIBMHD) \
197  $(GN_PLUGIN_LDFLAGS)
198 libgnunet_plugin_transport_https_la_CFLAGS = \
199  $(CFLAGS) -DBUILD_HTTPS  
200 endif
201
202
203 check_PROGRAMS = \
204  test_transport_api_tcp \
205  test_transport_api_tcp_nat \
206  test_transport_api_udp \
207  test_transport_api_udp_nat \
208  $(HTTP_PLUGIN_TEST) \
209  $(HTTP_API_TEST) \
210  $(HTTPS_PLUGIN_TEST) \
211  $(HTTPS_API_TEST) \
212  $(WLAN_API_TEST) \
213  test_transport_api_multi \
214  test_transport_api_reliability_tcp \
215  test_transport_api_reliability_tcp_nat \
216  test_transport_api_reliability_udp \
217  $(HTTP_REL_TEST) \
218  $(HTTPS_REL_TEST) \
219  test_quota_compliance_tcp \
220  test_quota_compliance_tcp_asymmetric_recv_constant \
221  test_quota_compliance_udp \
222  test_quota_compliance_udp_asymmetric_recv_constant \
223  $(HTTP_QUOTA_TEST) \
224  $(HTTPS_QUOTA_TEST)
225 # TODO: add tests for nat, etc.
226
227 if !DISABLE_TEST_RUN
228 TESTS = \
229  test_transport_api_tcp \
230  test_transport_api_tcp_nat \
231  test_transport_api_udp \
232  test_transport_api_udp_nat \
233  $(HTTP_PLUGIN_TEST) \
234  $(HTTP_API_TEST) \
235  $(HTTPS_PLUGIN_TEST) \
236  $(HTTPS_API_TEST) \
237  $(WLAN_API_TEST) \
238  test_transport_api_multi \
239  test_transport_api_reliability_tcp \
240  test_transport_api_reliability_tcp_nat \
241  $(HTTP_REL_TEST) \
242  $(HTTPS_REL_TEST) \
243  test_quota_compliance_tcp \
244  test_quota_compliance_tcp_asymmetric_recv_constant \
245  test_quota_compliance_udp \
246  test_quota_compliance_udp_asymmetric_recv_constant \
247  $(HTTP_QUOTA_TEST) \
248  $(HTTPS_QUOTA_TEST)
249 endif
250
251 test_transport_api_tcp_SOURCES = \
252  test_transport_api.c
253 test_transport_api_tcp_LDADD = \
254  $(top_builddir)/src/transport/libgnunettransport.la \
255  $(top_builddir)/src/util/libgnunetutil.la  
256
257 test_transport_api_tcp_nat_SOURCES = \
258  test_transport_api.c
259 test_transport_api_tcp_nat_LDADD = \
260  $(top_builddir)/src/transport/libgnunettransport.la \
261  $(top_builddir)/src/util/libgnunetutil.la  
262
263 test_transport_api_reliability_tcp_SOURCES = \
264  test_transport_api_reliability.c
265 test_transport_api_reliability_tcp_LDADD = \
266  $(top_builddir)/src/transport/libgnunettransport.la \
267  $(top_builddir)/src/util/libgnunetutil.la  
268
269 test_transport_api_reliability_tcp_nat_SOURCES = \
270  test_transport_api_reliability.c
271 test_transport_api_reliability_tcp_nat_LDADD = \
272  $(top_builddir)/src/transport/libgnunettransport.la \
273  $(top_builddir)/src/util/libgnunetutil.la 
274
275 test_transport_api_reliability_udp_SOURCES = \
276  test_transport_api_reliability.c
277 test_transport_api_reliability_udp_LDADD = \
278  $(top_builddir)/src/transport/libgnunettransport.la \
279  $(top_builddir)/src/util/libgnunetutil.la   
280
281 test_transport_api_udp_SOURCES = \
282  test_transport_api.c
283 test_transport_api_udp_LDADD = \
284  $(top_builddir)/src/transport/libgnunettransport.la \
285  $(top_builddir)/src/util/libgnunetutil.la  
286
287 test_transport_api_udp_nat_SOURCES = \
288  test_transport_api.c
289 test_transport_api_udp_nat_LDADD = \
290  $(top_builddir)/src/transport/libgnunettransport.la \
291  $(top_builddir)/src/util/libgnunetutil.la  
292
293 test_plugin_transport_http_SOURCES = \
294  test_plugin_transport_http.c
295 test_plugin_transport_http_LDADD = \
296  $(top_builddir)/src/transport/libgnunettransport.la \
297  $(top_builddir)/src/statistics/libgnunetstatistics.la \
298  @LIBCURL@ \
299  $(top_builddir)/src/util/libgnunetutil.la  
300
301 test_transport_api_http_SOURCES = \
302  test_transport_api.c
303 test_transport_api_http_LDADD = \
304  $(top_builddir)/src/transport/libgnunettransport.la \
305  $(top_builddir)/src/util/libgnunetutil.la  
306
307 test_transport_api_reliability_http_SOURCES = \
308  test_transport_api_reliability.c
309 test_transport_api_reliability_http_LDADD = \
310  $(top_builddir)/src/transport/libgnunettransport.la \
311  $(top_builddir)/src/util/libgnunetutil.la
312
313 test_plugin_transport_https_SOURCES = \
314  test_plugin_transport_https.c
315 test_plugin_transport_https_LDADD = \
316  $(top_builddir)/src/transport/libgnunettransport.la \
317  $(top_builddir)/src/statistics/libgnunetstatistics.la \
318  @LIBCURL@ \
319  $(top_builddir)/src/util/libgnunetutil.la  
320
321 test_transport_api_https_SOURCES = \
322  test_transport_api.c
323 test_transport_api_https_LDADD = \
324  $(top_builddir)/src/transport/libgnunettransport.la \
325  $(top_builddir)/src/util/libgnunetutil.la  
326
327 test_transport_api_reliability_https_SOURCES = \
328  test_transport_api_reliability.c
329 test_transport_api_reliability_https_LDADD = \
330  $(top_builddir)/src/transport/libgnunettransport.la \
331  $(top_builddir)/src/util/libgnunetutil.la
332
333 if HAVE_PCAP
334 if LINUX
335 test_transport_api_wlan_SOURCES = \
336  test_transport_api.c
337 test_transport_api_wlan_LDADD = \
338  $(top_builddir)/src/transport/libgnunettransport.la \
339  $(top_builddir)/src/util/libgnunetutil.la  
340 endif
341 endif
342
343 test_quota_compliance_tcp_SOURCES = \
344  test_quota_compliance.c
345 test_quota_compliance_tcp_LDADD = \
346  $(top_builddir)/src/transport/libgnunettransport.la \
347  $(top_builddir)/src/util/libgnunetutil.la
348
349 test_quota_compliance_tcp_asymmetric_recv_constant_SOURCES = \
350  test_quota_compliance.c
351 test_quota_compliance_tcp_asymmetric_recv_constant_LDADD = \
352  $(top_builddir)/src/transport/libgnunettransport.la \
353  $(top_builddir)/src/util/libgnunetutil.la
354
355 #test_quota_compliance_tcp_asymmetric_send_constant_SOURCES = \
356 # test_quota_compliance.c
357 #test_quota_compliance_tcp_asymmetric_send_constant_LDADD = \
358 # $(top_builddir)/src/transport/libgnunettransport.la \
359 # $(top_builddir)/src/util/libgnunetutil.la
360
361 test_quota_compliance_http_SOURCES = \
362  test_quota_compliance.c
363 test_quota_compliance_http_LDADD = \
364  $(top_builddir)/src/transport/libgnunettransport.la \
365  $(top_builddir)/src/util/libgnunetutil.la
366
367  test_quota_compliance_http_asymmetric_recv_constant_SOURCES = \
368  test_quota_compliance.c
369 test_quota_compliance_http_asymmetric_recv_constant_LDADD = \
370  $(top_builddir)/src/transport/libgnunettransport.la \
371  $(top_builddir)/src/util/libgnunetutil.la
372
373 #test_quota_compliance_http_asymmetric_send_constant_SOURCES = \
374 # test_quota_compliance.c
375 #test_quota_compliance_http_asymmetric_send_constant_LDADD = \
376 # $(top_builddir)/src/transport/libgnunettransport.la \
377 # $(top_builddir)/src/util/libgnunetutil.la
378
379 test_quota_compliance_https_SOURCES = \
380  test_quota_compliance.c
381 test_quota_compliance_https_LDADD = \
382  $(top_builddir)/src/transport/libgnunettransport.la \
383  $(top_builddir)/src/util/libgnunetutil.la
384
385  test_quota_compliance_https_asymmetric_recv_constant_SOURCES = \
386  test_quota_compliance.c
387 test_quota_compliance_https_asymmetric_recv_constant_LDADD = \
388  $(top_builddir)/src/transport/libgnunettransport.la \
389  $(top_builddir)/src/util/libgnunetutil.la
390
391 #test_quota_compliance_https_asymmetric_send_constant_SOURCES = \
392 # test_quota_compliance.c
393 #test_quota_compliance_https_asymmetric_send_constant_LDADD = \
394 # $(top_builddir)/src/transport/libgnunettransport.la \
395 # $(top_builddir)/src/util/libgnunetutil.la
396
397 test_quota_compliance_udp_SOURCES = \
398  test_quota_compliance.c
399 test_quota_compliance_udp_LDADD = \
400  $(top_builddir)/src/transport/libgnunettransport.la \
401  $(top_builddir)/src/util/libgnunetutil.la
402
403 test_quota_compliance_udp_asymmetric_recv_constant_SOURCES = \
404  test_quota_compliance.c
405 test_quota_compliance_udp_asymmetric_recv_constant_LDADD = \
406  $(top_builddir)/src/transport/libgnunettransport.la \
407  $(top_builddir)/src/util/libgnunetutil.la
408
409 #test_quota_compliance_udp_asymmetric_send_constant_SOURCES = \
410 # test_quota_compliance.c
411 #test_quota_compliance_udp_asymmetric_send_constant_LDADD = \
412 # $(top_builddir)/src/transport/libgnunettransport.la \
413 # $(top_builddir)/src/util/libgnunetutil.la 
414
415 test_transport_api_multi_SOURCES = \
416  test_transport_api.c
417 test_transport_api_multi_LDADD = \
418  $(top_builddir)/src/transport/libgnunettransport.la \
419  $(top_builddir)/src/util/libgnunetutil.la  
420 EXTRA_DIST = \
421   test_transport_api_data.conf \
422   test_transport_api_tcp_peer1.conf \
423   test_transport_api_tcp_peer2.conf \
424   test_transport_api_udp_peer1.conf \
425   test_transport_api_udp_peer2.conf \
426   test_transport_api_udp_nat_peer1.conf \
427   test_transport_api_udp_nat_peer2.conf \
428   test_transport_api_tcp_nat_peer1.conf \
429   test_transport_api_tcp_nat_peer2.conf \
430   test_plugin_transport_data.conf \
431   test_transport_api_http_peer1.conf \
432   test_transport_api_http_peer2.conf \
433   test_transport_api_https_peer1.conf \
434   test_transport_api_https_peer2.conf \
435   test_transport_api_wlan_peer1.conf \
436   test_transport_api_wlan_peer2.conf \
437   test_transport_api_multi_peer1.conf \
438   test_transport_api_multi_peer2.conf \
439   test_transport_api_rel_http_peer1.conf \
440   test_transport_api_rel_http_peer2.conf \
441   test_transport_api_rel_https_peer1.conf \
442   test_transport_api_rel_https_peer2.conf \
443   test_plugin_transport_data_http.conf \
444   test_plugin_transport_data.conf \
445   test_quota_compliance_data.conf \
446   test_quota_compliance_tcp_peer1.conf \
447   test_quota_compliance_tcp_peer2.conf \
448   test_quota_compliance_http_peer1.conf \
449   test_quota_compliance_http_peer2.conf \
450   test_quota_compliance_https_peer1.conf \
451   test_quota_compliance_https_peer2.conf \
452   test_quota_compliance_udp_peer1.conf \
453   test_quota_compliance_udp_peer2.conf