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