LRN patch from Mantis #1615
[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                                    
24  HTTPS_PLUGIN_LA = libgnunet_plugin_transport_https.la
25  HTTPS_PLUGIN_TEST = test_plugin_transport_https
26  HTTPS_API_TEST = test_transport_api_https
27  HTTPS_REL_TEST = test_transport_api_reliability_https
28  HTTPS_QUOTA_TEST = test_quota_compliance_https \
29                                         test_quota_compliance_https_asymmetric_recv_constant
30 endif
31
32 if USE_COVERAGE
33   AM_CFLAGS = --coverage -O0
34 endif
35
36 if HAVE_PCAP
37 if LINUX
38  WANBIN = gnunet-transport-wlan-helper
39  WLAN_PLUGIN_LA = libgnunet_plugin_transport_wlan.la
40 endif
41 endif
42
43 if LINUX
44 NATBIN = gnunet-nat-server gnunet-nat-client
45 install-exec-hook:
46         chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
47         chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
48 else
49 install-exec-hook:
50 endif
51
52 #noinst_PROGRAMS = ${check_PROGRAMS}
53
54 lib_LTLIBRARIES = \
55   libgnunettransport.la
56
57 libgnunettransport_la_SOURCES = \
58   transport_api.c transport.h \
59   transport_api_blacklist.c \
60   transport_api_address_lookup.c 
61 libgnunettransport_la_LIBADD = \
62   $(top_builddir)/src/hello/libgnunethello.la \
63   $(top_builddir)/src/util/libgnunetutil.la \
64   $(GN_LIBINTL) 
65 libgnunettransport_la_LDFLAGS = \
66   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
67   -version-info 0:0:0
68
69
70 bin_PROGRAMS = \
71  gnunet-transport \
72  $(WANBIN) \
73  gnunet-service-transport $(NATBIN)
74
75 bin_SCRIPTS = \
76  gnunet-transport-certificate-creation
77
78 gnunet_nat_server_SOURCES = \
79  $(NATSERVER)
80
81 gnunet_transport_wlan_helper_SOURCES = \
82  gnunet-transport-wlan-helper.c         
83 gnunet_transport_wlan_helper_LDADD = \
84  -lpcap
85
86 gnunet_nat_client_SOURCES = \
87  $(NATCLIENT)         
88
89 gnunet_transport_SOURCES = \
90  gnunet-transport.c         
91 gnunet_transport_LDADD = \
92   $(top_builddir)/src/transport/libgnunettransport.la \
93   $(top_builddir)/src/util/libgnunetutil.la \
94   $(GN_LIBINTL)
95
96 gnunet_service_transport_SOURCES = \
97  gnunet-service-transport.c plugin_transport.h 
98 gnunet_service_transport_LDADD = \
99   $(top_builddir)/src/hello/libgnunethello.la \
100   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
101   $(top_builddir)/src/statistics/libgnunetstatistics.la \
102   $(top_builddir)/src/util/libgnunetutil.la \
103   $(GN_LIBINTL)
104
105
106 plugin_LTLIBRARIES = \
107   libgnunet_plugin_transport_tcp.la \
108   libgnunet_plugin_transport_udp.la \
109   $(HTTP_PLUGIN_LA) \
110   $(HTTPS_PLUGIN_LA) \
111   $(WLAN_PLUGIN_LA) \
112   libgnunet_plugin_transport_template.la
113 # TODO: add nat, etc.
114
115 libgnunet_plugin_transport_tcp_la_SOURCES = \
116   plugin_transport_tcp.c
117 libgnunet_plugin_transport_tcp_la_LIBADD = \
118   $(top_builddir)/src/hello/libgnunethello.la \
119   $(top_builddir)/src/statistics/libgnunetstatistics.la \
120   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.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