(no commit message)
[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 gnunet_transport_wlan_helper_SOURCES = \
81  gnunet-transport-wlan-helper.c         
82 gnunet_transport_wlan_helper_LDADD = \
83  -lpcap
84
85 gnunet_nat_client_SOURCES = \
86  $(NATCLIENT)         
87
88 gnunet_transport_SOURCES = \
89  gnunet-transport.c         
90 gnunet_transport_LDADD = \
91   $(top_builddir)/src/transport/libgnunettransport.la \
92   $(top_builddir)/src/util/libgnunetutil.la \
93   $(GN_LIBINTL)
94
95 gnunet_service_transport_SOURCES = \
96  gnunet-service-transport.c plugin_transport.h 
97 gnunet_service_transport_LDADD = \
98   $(top_builddir)/src/hello/libgnunethello.la \
99   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
100   $(top_builddir)/src/statistics/libgnunetstatistics.la \
101   $(top_builddir)/src/util/libgnunetutil.la \
102   $(GN_LIBINTL)
103
104
105 plugin_LTLIBRARIES = \
106   libgnunet_plugin_transport_tcp.la \
107   libgnunet_plugin_transport_udp.la \
108   $(HTTP_PLUGIN_LA) \
109   $(HTTPS_PLUGIN_LA) \
110   $(WLAN_PLUGIN_LA) \
111   libgnunet_plugin_transport_template.la
112 # TODO: add nat, etc.
113
114 libgnunet_plugin_transport_tcp_la_SOURCES = \
115   plugin_transport_tcp.c
116 libgnunet_plugin_transport_tcp_la_LIBADD = \
117   $(top_builddir)/src/hello/libgnunethello.la \
118   $(top_builddir)/src/statistics/libgnunetstatistics.la \
119   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
120   $(top_builddir)/src/nat/libgnunetnat.la \
121   $(top_builddir)/src/util/libgnunetutil.la 
122 libgnunet_plugin_transport_tcp_la_LDFLAGS = \
123  $(GN_PLUGIN_LDFLAGS)
124
125 libgnunet_plugin_transport_template_la_SOURCES = \
126   plugin_transport_template.c
127 libgnunet_plugin_transport_template_la_LIBADD = \
128   $(top_builddir)/src/util/libgnunetutil.la 
129 libgnunet_plugin_transport_template_la_LDFLAGS = \
130  $(GN_PLUGIN_LDFLAGS)
131
132 if HAVE_PCAP
133 if LINUX
134 libgnunet_plugin_transport_wlan_la_SOURCES = \
135         plugin_transport_wlan.c
136 libgnunet_plugin_transport_wlan_la_LIBADD = \
137         $(top_builddir)/src/hello/libgnunethello.la \
138         $(top_builddir)/src/statistics/libgnunetstatistics.la \
139         $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
140         $(top_builddir)/src/util/libgnunetutil.la 
141 libgnunet_plugin_transport_wlan_la_LDFLAGS = \
142         $(GN_PLUGIN_LDFLAGS)
143 endif
144 endif
145
146 libgnunet_plugin_transport_udp_la_SOURCES = \
147   plugin_transport_udp.c
148 libgnunet_plugin_transport_udp_la_LIBADD = \
149   $(top_builddir)/src/hello/libgnunethello.la \
150   $(top_builddir)/src/statistics/libgnunetstatistics.la \
151   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
152   $(top_builddir)/src/util/libgnunetutil.la 
153 libgnunet_plugin_transport_udp_la_LDFLAGS = \
154  $(GN_PLUGIN_LDFLAGS)
155
156 #libgnunet_plugin_transport_udp_nat_la_SOURCES = \
157 #  plugin_transport_udp_nat.c
158 #libgnunet_plugin_transport_udp_nat_la_LIBADD = \
159 #  $(top_builddir)/src/hello/libgnunethello.la \
160 #  $(top_builddir)/src/statistics/libgnunetstatistics.la \
161 #  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
162 #  $(top_builddir)/src/util/libgnunetutil.la 
163 #libgnunet_plugin_transport_udp_nat_la_LDFLAGS = \
164 # $(GN_PLUGIN_LDFLAGS)
165
166 if HAVE_MHD 
167 libgnunet_plugin_transport_http_la_SOURCES = \
168   plugin_transport_http.c
169 libgnunet_plugin_transport_http_la_LIBADD = \
170   $(top_builddir)/src/hello/libgnunethello.la \
171   $(top_builddir)/src/statistics/libgnunetstatistics.la \
172   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
173   @LIBCURL@ \
174   $(top_builddir)/src/util/libgnunetutil.la 
175 libgnunet_plugin_transport_http_la_LDFLAGS = \
176  $(GN_LIBMHD) \
177  $(GN_PLUGIN_LDFLAGS)
178
179 libgnunet_plugin_transport_https_la_SOURCES = \
180   plugin_transport_http.c
181 libgnunet_plugin_transport_https_la_LIBADD = \
182   $(top_builddir)/src/hello/libgnunethello.la \
183   $(top_builddir)/src/statistics/libgnunetstatistics.la \
184   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
185   @LIBCURL@ \
186   $(top_builddir)/src/util/libgnunetutil.la 
187 libgnunet_plugin_transport_https_la_LDFLAGS = \
188  $(GN_LIBMHD) \
189  $(GN_PLUGIN_LDFLAGS)
190 libgnunet_plugin_transport_https_la_CFLAGS = \
191  $(CFLAGS) -DBUILD_HTTPS  
192 endif
193
194 check_PROGRAMS = \
195  test_transport_api_tcp \
196  test_transport_api_tcp_nat \
197  test_transport_api_udp \
198  test_transport_api_udp_nat \
199  $(HTTP_PLUGIN_TEST) \
200  $(HTTP_API_TEST) \
201  $(HTTPS_PLUGIN_TEST) \
202  $(HTTPS_API_TEST) \
203  test_transport_api_reliability_tcp \
204  test_transport_api_reliability_tcp_nat \
205  test_transport_api_reliability_udp \
206  $(HTTP_REL_TEST) \
207  $(HTTPS_REL_TEST) \
208  test_quota_compliance_tcp \
209  test_quota_compliance_tcp_asymmetric_recv_constant \
210  test_quota_compliance_udp \
211  test_quota_compliance_udp_asymmetric_recv_constant \
212  $(HTTP_QUOTA_TEST) \
213  $(HTTPS_QUOTA_TEST)
214 # TODO: add tests for nat, etc.
215
216 if !DISABLE_TEST_RUN
217 TESTS = \
218  test_transport_api_tcp \
219  test_transport_api_tcp_nat \
220  test_transport_api_udp \
221  test_transport_api_udp_nat \
222  $(HTTP_PLUGIN_TEST) \
223  $(HTTP_API_TEST) \
224  $(HTTPS_PLUGIN_TEST) \
225  $(HTTPS_API_TEST) \
226  test_transport_api_reliability_tcp \
227  test_transport_api_reliability_tcp_nat \
228  $(HTTP_REL_TEST) \
229  $(HTTPS_REL_TEST) \
230  test_quota_compliance_tcp \
231  test_quota_compliance_tcp_asymmetric_recv_constant \
232  test_quota_compliance_udp \
233  test_quota_compliance_udp_asymmetric_recv_constant \
234  $(HTTP_QUOTA_TEST) \
235  $(HTTPS_QUOTA_TEST)
236 endif
237
238 test_transport_api_tcp_SOURCES = \
239  test_transport_api.c
240 test_transport_api_tcp_LDADD = \
241  $(top_builddir)/src/transport/libgnunettransport.la \
242  $(top_builddir)/src/util/libgnunetutil.la  
243
244 test_transport_api_tcp_nat_SOURCES = \
245  test_transport_api.c
246 test_transport_api_tcp_nat_LDADD = \
247  $(top_builddir)/src/transport/libgnunettransport.la \
248  $(top_builddir)/src/util/libgnunetutil.la  
249
250 test_transport_api_reliability_tcp_SOURCES = \
251  test_transport_api_reliability.c
252 test_transport_api_reliability_tcp_LDADD = \
253  $(top_builddir)/src/transport/libgnunettransport.la \
254  $(top_builddir)/src/util/libgnunetutil.la  
255
256 test_transport_api_reliability_tcp_nat_SOURCES = \
257  test_transport_api_reliability.c
258 test_transport_api_reliability_tcp_nat_LDADD = \
259  $(top_builddir)/src/transport/libgnunettransport.la \
260  $(top_builddir)/src/util/libgnunetutil.la 
261
262 test_transport_api_reliability_udp_SOURCES = \
263  test_transport_api_reliability.c
264 test_transport_api_reliability_udp_LDADD = \
265  $(top_builddir)/src/transport/libgnunettransport.la \
266  $(top_builddir)/src/util/libgnunetutil.la   
267
268 test_transport_api_udp_SOURCES = \
269  test_transport_api.c
270 test_transport_api_udp_LDADD = \
271  $(top_builddir)/src/transport/libgnunettransport.la \
272  $(top_builddir)/src/util/libgnunetutil.la  
273
274 test_transport_api_udp_nat_SOURCES = \
275  test_transport_api.c
276 test_transport_api_udp_nat_LDADD = \
277  $(top_builddir)/src/transport/libgnunettransport.la \
278  $(top_builddir)/src/util/libgnunetutil.la  
279
280 if HAVE_MHD
281
282 test_plugin_transport_http_SOURCES = \
283  test_plugin_transport_http.c
284 test_plugin_transport_http_LDADD = \
285  $(top_builddir)/src/transport/libgnunettransport.la \
286  $(top_builddir)/src/statistics/libgnunetstatistics.la \
287  @LIBCURL@ \
288  $(top_builddir)/src/util/libgnunetutil.la  
289
290 test_transport_api_http_SOURCES = \
291  test_transport_api.c
292 test_transport_api_http_LDADD = \
293  $(top_builddir)/src/transport/libgnunettransport.la \
294  $(top_builddir)/src/util/libgnunetutil.la  
295
296 test_transport_api_reliability_http_SOURCES = \
297  test_transport_api_reliability.c
298 test_transport_api_reliability_http_LDADD = \
299  $(top_builddir)/src/transport/libgnunettransport.la \
300  $(top_builddir)/src/util/libgnunetutil.la
301
302 test_plugin_transport_https_SOURCES = \
303  test_plugin_transport_https.c
304 test_plugin_transport_https_LDADD = \
305  $(top_builddir)/src/transport/libgnunettransport.la \
306  $(top_builddir)/src/statistics/libgnunetstatistics.la \
307  @LIBCURL@ \
308  $(top_builddir)/src/util/libgnunetutil.la  
309
310 test_transport_api_https_SOURCES = \
311  test_transport_api.c
312 test_transport_api_https_LDADD = \
313  $(top_builddir)/src/transport/libgnunettransport.la \
314  $(top_builddir)/src/util/libgnunetutil.la  
315
316 test_transport_api_reliability_https_SOURCES = \
317  test_transport_api_reliability.c
318 test_transport_api_reliability_https_LDADD = \
319  $(top_builddir)/src/transport/libgnunettransport.la \
320  $(top_builddir)/src/util/libgnunetutil.la
321
322 test_quota_compliance_tcp_SOURCES = \
323  test_quota_compliance.c
324 test_quota_compliance_tcp_LDADD = \
325  $(top_builddir)/src/transport/libgnunettransport.la \
326  $(top_builddir)/src/util/libgnunetutil.la
327
328 test_quota_compliance_tcp_asymmetric_recv_constant_SOURCES = \
329  test_quota_compliance.c
330 test_quota_compliance_tcp_asymmetric_recv_constant_LDADD = \
331  $(top_builddir)/src/transport/libgnunettransport.la \
332  $(top_builddir)/src/util/libgnunetutil.la
333
334 #test_quota_compliance_tcp_asymmetric_send_constant_SOURCES = \
335 # test_quota_compliance.c
336 #test_quota_compliance_tcp_asymmetric_send_constant_LDADD = \
337 # $(top_builddir)/src/transport/libgnunettransport.la \
338 # $(top_builddir)/src/util/libgnunetutil.la
339
340 test_quota_compliance_http_SOURCES = \
341  test_quota_compliance.c
342 test_quota_compliance_http_LDADD = \
343  $(top_builddir)/src/transport/libgnunettransport.la \
344  $(top_builddir)/src/util/libgnunetutil.la
345
346  test_quota_compliance_http_asymmetric_recv_constant_SOURCES = \
347  test_quota_compliance.c
348 test_quota_compliance_http_asymmetric_recv_constant_LDADD = \
349  $(top_builddir)/src/transport/libgnunettransport.la \
350  $(top_builddir)/src/util/libgnunetutil.la
351
352 #test_quota_compliance_http_asymmetric_send_constant_SOURCES = \
353 # test_quota_compliance.c
354 #test_quota_compliance_http_asymmetric_send_constant_LDADD = \
355 # $(top_builddir)/src/transport/libgnunettransport.la \
356 # $(top_builddir)/src/util/libgnunetutil.la
357
358 test_quota_compliance_https_SOURCES = \
359  test_quota_compliance.c
360 test_quota_compliance_https_LDADD = \
361  $(top_builddir)/src/transport/libgnunettransport.la \
362  $(top_builddir)/src/util/libgnunetutil.la
363
364  test_quota_compliance_https_asymmetric_recv_constant_SOURCES = \
365  test_quota_compliance.c
366 test_quota_compliance_https_asymmetric_recv_constant_LDADD = \
367  $(top_builddir)/src/transport/libgnunettransport.la \
368  $(top_builddir)/src/util/libgnunetutil.la
369
370 #test_quota_compliance_https_asymmetric_send_constant_SOURCES = \
371 # test_quota_compliance.c
372 #test_quota_compliance_https_asymmetric_send_constant_LDADD = \
373 # $(top_builddir)/src/transport/libgnunettransport.la \
374 # $(top_builddir)/src/util/libgnunetutil.la
375
376 test_quota_compliance_udp_SOURCES = \
377  test_quota_compliance.c
378 test_quota_compliance_udp_LDADD = \
379  $(top_builddir)/src/transport/libgnunettransport.la \
380  $(top_builddir)/src/util/libgnunetutil.la
381
382 test_quota_compliance_udp_asymmetric_recv_constant_SOURCES = \
383  test_quota_compliance.c
384 test_quota_compliance_udp_asymmetric_recv_constant_LDADD = \
385  $(top_builddir)/src/transport/libgnunettransport.la \
386  $(top_builddir)/src/util/libgnunetutil.la
387
388 #test_quota_compliance_udp_asymmetric_send_constant_SOURCES = \
389 # test_quota_compliance.c
390 #test_quota_compliance_udp_asymmetric_send_constant_LDADD = \
391 # $(top_builddir)/src/transport/libgnunettransport.la \
392 # $(top_builddir)/src/util/libgnunetutil.la 
393
394 endif
395
396
397 EXTRA_DIST = \
398   test_transport_api_data.conf \
399   test_transport_api_tcp_peer1.conf \
400   test_transport_api_tcp_peer2.conf \
401   test_transport_api_udp_peer1.conf \
402   test_transport_api_udp_peer2.conf \
403   test_transport_api_udp_nat_peer1.conf \
404   test_transport_api_udp_nat_peer2.conf \
405   test_transport_api_tcp_nat_peer1.conf \
406   test_transport_api_tcp_nat_peer2.conf \
407   test_plugin_transport_data.conf \
408   test_transport_api_http_peer1.conf \
409   test_transport_api_http_peer2.conf \
410   test_transport_api_https_peer1.conf \
411   test_transport_api_https_peer2.conf \
412   test_transport_api_rel_http_peer1.conf \
413   test_transport_api_rel_http_peer2.conf \
414   test_transport_api_rel_https_peer1.conf \
415   test_transport_api_rel_https_peer2.conf \
416   test_plugin_transport_data_http.conf \
417   test_plugin_transport_data.conf \
418   test_quota_compliance_data.conf \
419   test_quota_compliance_tcp_peer1.conf \
420   test_quota_compliance_tcp_peer2.conf \
421   test_quota_compliance_http_peer1.conf \
422   test_quota_compliance_http_peer2.conf \
423   test_quota_compliance_https_peer1.conf \
424   test_quota_compliance_https_peer2.conf \
425   test_quota_compliance_udp_peer1.conf \
426   test_quota_compliance_udp_peer2.conf