safety check
[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 endif
40 endif
41
42 if LINUX
43 NATBIN = gnunet-nat-server gnunet-nat-client
44 install-exec-hook:
45         chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
46         chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
47 else
48 install-exec-hook:
49 endif
50
51 #noinst_PROGRAMS = ${check_PROGRAMS}
52
53 lib_LTLIBRARIES = \
54   libgnunettransport.la
55
56 libgnunettransport_la_SOURCES = \
57   transport_api.c transport.h \
58   transport_api_blacklist.c \
59   transport_api_address_lookup.c 
60 libgnunettransport_la_LIBADD = \
61   $(top_builddir)/src/hello/libgnunethello.la \
62   $(top_builddir)/src/util/libgnunetutil.la \
63   $(GN_LIBINTL) 
64 libgnunettransport_la_LDFLAGS = \
65   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
66   -version-info 0:0:0
67
68
69 bin_PROGRAMS = \
70  gnunet-transport \
71  $(WANBIN) \
72  gnunet-service-transport $(NATBIN)
73
74 bin_SCRIPTS = \
75  gnunet-transport-certificate-creation
76
77 gnunet_nat_server_SOURCES = \
78  $(NATSERVER)
79
80     
81 gnunet_transport_wlan_helper_SOURCES = \
82  gnunet-transport-wlan-helper.c
83 gnunet_transport_wlan_helper_LDADD = \
84  -lpcap
85  
86 test_plugin_transport_wlan_SOURCES = \
87  test_plugin_transport_wlan_dummy.c
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 check_PROGRAMS = \
203  test_transport_api_tcp \
204  test_transport_api_tcp_nat \
205  test_transport_api_udp \
206  test_transport_api_udp_nat \
207  $(HTTP_PLUGIN_TEST) \
208  $(HTTP_API_TEST) \
209  $(HTTPS_PLUGIN_TEST) \
210  $(HTTPS_API_TEST) \
211  test_transport_api_multi \
212  test_transport_api_reliability_tcp \
213  test_transport_api_reliability_tcp_nat \
214  test_transport_api_reliability_udp \
215  $(HTTP_REL_TEST) \
216  $(HTTPS_REL_TEST) \
217  test_quota_compliance_tcp \
218  test_quota_compliance_tcp_asymmetric_recv_constant \
219  test_quota_compliance_udp \
220  test_quota_compliance_udp_asymmetric_recv_constant \
221  $(HTTP_QUOTA_TEST) \
222  $(HTTPS_QUOTA_TEST) \
223  test_plugin_transport_wlan
224 # TODO: add tests for nat, etc.
225
226 if !DISABLE_TEST_RUN
227 TESTS = \
228  test_transport_api_tcp \
229  test_transport_api_tcp_nat \
230  test_transport_api_udp \
231  test_transport_api_udp_nat \
232  $(HTTP_PLUGIN_TEST) \
233  $(HTTP_API_TEST) \
234  $(HTTPS_PLUGIN_TEST) \
235  $(HTTPS_API_TEST) \
236  test_transport_api_multi \
237  test_transport_api_reliability_tcp \
238  test_transport_api_reliability_tcp_nat \
239  $(HTTP_REL_TEST) \
240  $(HTTPS_REL_TEST) \
241  test_quota_compliance_tcp \
242  test_quota_compliance_tcp_asymmetric_recv_constant \
243  test_quota_compliance_udp \
244  test_quota_compliance_udp_asymmetric_recv_constant \
245  $(HTTP_QUOTA_TEST) \
246  $(HTTPS_QUOTA_TEST)
247 endif
248
249 test_transport_api_tcp_SOURCES = \
250  test_transport_api.c
251 test_transport_api_tcp_LDADD = \
252  $(top_builddir)/src/transport/libgnunettransport.la \
253  $(top_builddir)/src/util/libgnunetutil.la  
254
255 test_transport_api_tcp_nat_SOURCES = \
256  test_transport_api.c
257 test_transport_api_tcp_nat_LDADD = \
258  $(top_builddir)/src/transport/libgnunettransport.la \
259  $(top_builddir)/src/util/libgnunetutil.la  
260
261 test_transport_api_reliability_tcp_SOURCES = \
262  test_transport_api_reliability.c
263 test_transport_api_reliability_tcp_LDADD = \
264  $(top_builddir)/src/transport/libgnunettransport.la \
265  $(top_builddir)/src/util/libgnunetutil.la  
266
267 test_transport_api_reliability_tcp_nat_SOURCES = \
268  test_transport_api_reliability.c
269 test_transport_api_reliability_tcp_nat_LDADD = \
270  $(top_builddir)/src/transport/libgnunettransport.la \
271  $(top_builddir)/src/util/libgnunetutil.la 
272
273 test_transport_api_reliability_udp_SOURCES = \
274  test_transport_api_reliability.c
275 test_transport_api_reliability_udp_LDADD = \
276  $(top_builddir)/src/transport/libgnunettransport.la \
277  $(top_builddir)/src/util/libgnunetutil.la   
278
279 test_transport_api_udp_SOURCES = \
280  test_transport_api.c
281 test_transport_api_udp_LDADD = \
282  $(top_builddir)/src/transport/libgnunettransport.la \
283  $(top_builddir)/src/util/libgnunetutil.la  
284
285 test_transport_api_udp_nat_SOURCES = \
286  test_transport_api.c
287 test_transport_api_udp_nat_LDADD = \
288  $(top_builddir)/src/transport/libgnunettransport.la \
289  $(top_builddir)/src/util/libgnunetutil.la  
290
291 test_plugin_transport_http_SOURCES = \
292  test_plugin_transport_http.c
293 test_plugin_transport_http_LDADD = \
294  $(top_builddir)/src/transport/libgnunettransport.la \
295  $(top_builddir)/src/statistics/libgnunetstatistics.la \
296  @LIBCURL@ \
297  $(top_builddir)/src/util/libgnunetutil.la  
298
299 test_transport_api_http_SOURCES = \
300  test_transport_api.c
301 test_transport_api_http_LDADD = \
302  $(top_builddir)/src/transport/libgnunettransport.la \
303  $(top_builddir)/src/util/libgnunetutil.la  
304
305 test_transport_api_reliability_http_SOURCES = \
306  test_transport_api_reliability.c
307 test_transport_api_reliability_http_LDADD = \
308  $(top_builddir)/src/transport/libgnunettransport.la \
309  $(top_builddir)/src/util/libgnunetutil.la
310
311 test_plugin_transport_https_SOURCES = \
312  test_plugin_transport_https.c
313 test_plugin_transport_https_LDADD = \
314  $(top_builddir)/src/transport/libgnunettransport.la \
315  $(top_builddir)/src/statistics/libgnunetstatistics.la \
316  @LIBCURL@ \
317  $(top_builddir)/src/util/libgnunetutil.la  
318
319 test_transport_api_https_SOURCES = \
320  test_transport_api.c
321 test_transport_api_https_LDADD = \
322  $(top_builddir)/src/transport/libgnunettransport.la \
323  $(top_builddir)/src/util/libgnunetutil.la  
324
325 test_transport_api_reliability_https_SOURCES = \
326  test_transport_api_reliability.c
327 test_transport_api_reliability_https_LDADD = \
328  $(top_builddir)/src/transport/libgnunettransport.la \
329  $(top_builddir)/src/util/libgnunetutil.la
330
331 test_quota_compliance_tcp_SOURCES = \
332  test_quota_compliance.c
333 test_quota_compliance_tcp_LDADD = \
334  $(top_builddir)/src/transport/libgnunettransport.la \
335  $(top_builddir)/src/util/libgnunetutil.la
336
337 test_quota_compliance_tcp_asymmetric_recv_constant_SOURCES = \
338  test_quota_compliance.c
339 test_quota_compliance_tcp_asymmetric_recv_constant_LDADD = \
340  $(top_builddir)/src/transport/libgnunettransport.la \
341  $(top_builddir)/src/util/libgnunetutil.la
342
343 #test_quota_compliance_tcp_asymmetric_send_constant_SOURCES = \
344 # test_quota_compliance.c
345 #test_quota_compliance_tcp_asymmetric_send_constant_LDADD = \
346 # $(top_builddir)/src/transport/libgnunettransport.la \
347 # $(top_builddir)/src/util/libgnunetutil.la
348
349 test_quota_compliance_http_SOURCES = \
350  test_quota_compliance.c
351 test_quota_compliance_http_LDADD = \
352  $(top_builddir)/src/transport/libgnunettransport.la \
353  $(top_builddir)/src/util/libgnunetutil.la
354
355  test_quota_compliance_http_asymmetric_recv_constant_SOURCES = \
356  test_quota_compliance.c
357 test_quota_compliance_http_asymmetric_recv_constant_LDADD = \
358  $(top_builddir)/src/transport/libgnunettransport.la \
359  $(top_builddir)/src/util/libgnunetutil.la
360
361 #test_quota_compliance_http_asymmetric_send_constant_SOURCES = \
362 # test_quota_compliance.c
363 #test_quota_compliance_http_asymmetric_send_constant_LDADD = \
364 # $(top_builddir)/src/transport/libgnunettransport.la \
365 # $(top_builddir)/src/util/libgnunetutil.la
366
367 test_quota_compliance_https_SOURCES = \
368  test_quota_compliance.c
369 test_quota_compliance_https_LDADD = \
370  $(top_builddir)/src/transport/libgnunettransport.la \
371  $(top_builddir)/src/util/libgnunetutil.la
372
373  test_quota_compliance_https_asymmetric_recv_constant_SOURCES = \
374  test_quota_compliance.c
375 test_quota_compliance_https_asymmetric_recv_constant_LDADD = \
376  $(top_builddir)/src/transport/libgnunettransport.la \
377  $(top_builddir)/src/util/libgnunetutil.la
378
379 #test_quota_compliance_https_asymmetric_send_constant_SOURCES = \
380 # test_quota_compliance.c
381 #test_quota_compliance_https_asymmetric_send_constant_LDADD = \
382 # $(top_builddir)/src/transport/libgnunettransport.la \
383 # $(top_builddir)/src/util/libgnunetutil.la
384
385 test_quota_compliance_udp_SOURCES = \
386  test_quota_compliance.c
387 test_quota_compliance_udp_LDADD = \
388  $(top_builddir)/src/transport/libgnunettransport.la \
389  $(top_builddir)/src/util/libgnunetutil.la
390
391 test_quota_compliance_udp_asymmetric_recv_constant_SOURCES = \
392  test_quota_compliance.c
393 test_quota_compliance_udp_asymmetric_recv_constant_LDADD = \
394  $(top_builddir)/src/transport/libgnunettransport.la \
395  $(top_builddir)/src/util/libgnunetutil.la
396
397 #test_quota_compliance_udp_asymmetric_send_constant_SOURCES = \
398 # test_quota_compliance.c
399 #test_quota_compliance_udp_asymmetric_send_constant_LDADD = \
400 # $(top_builddir)/src/transport/libgnunettransport.la \
401 # $(top_builddir)/src/util/libgnunetutil.la 
402
403 test_transport_api_multi_SOURCES = \
404  test_transport_api.c
405 test_transport_api_multi_LDADD = \
406  $(top_builddir)/src/transport/libgnunettransport.la \
407  $(top_builddir)/src/util/libgnunetutil.la  
408
409
410 EXTRA_DIST = \
411   test_transport_api_data.conf \
412   test_transport_api_tcp_peer1.conf \
413   test_transport_api_tcp_peer2.conf \
414   test_transport_api_udp_peer1.conf \
415   test_transport_api_udp_peer2.conf \
416   test_transport_api_udp_nat_peer1.conf \
417   test_transport_api_udp_nat_peer2.conf \
418   test_transport_api_tcp_nat_peer1.conf \
419   test_transport_api_tcp_nat_peer2.conf \
420   test_plugin_transport_data.conf \
421   test_transport_api_http_peer1.conf \
422   test_transport_api_http_peer2.conf \
423   test_transport_api_https_peer1.conf \
424   test_transport_api_https_peer2.conf \
425   test_transport_api_multi_peer1.conf \
426   test_transport_api_multi_peer2.conf \
427   test_transport_api_rel_http_peer1.conf \
428   test_transport_api_rel_http_peer2.conf \
429   test_transport_api_rel_https_peer1.conf \
430   test_transport_api_rel_https_peer2.conf \
431   test_plugin_transport_data_http.conf \
432   test_plugin_transport_data.conf \
433   test_quota_compliance_data.conf \
434   test_quota_compliance_tcp_peer1.conf \
435   test_quota_compliance_tcp_peer2.conf \
436   test_quota_compliance_http_peer1.conf \
437   test_quota_compliance_http_peer2.conf \
438   test_quota_compliance_https_peer1.conf \
439   test_quota_compliance_https_peer2.conf \
440   test_quota_compliance_udp_peer1.conf \
441   test_quota_compliance_udp_peer2.conf