fixes to build
[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 endif
8
9 if HAVE_MHD
10  GN_LIBMHD = -lmicrohttpd
11  HTTP_PLUGIN_LA = libgnunet_plugin_transport_http.la
12  HTTP_PLUGIN_TEST = test_plugin_transport_http
13  HTTP_API_TEST = test_transport_api_http
14  HTTP_REL_TEST = test_transport_api_reliability_http
15
16  HTTPS_PLUGIN_LA = libgnunet_plugin_transport_https.la
17  HTTPS_PLUGIN_TEST = test_plugin_transport_https
18  HTTPS_API_TEST = test_transport_api_https
19  HTTPS_REL_TEST = test_transport_api_reliability_https                     
20 endif
21
22 if USE_COVERAGE
23   AM_CFLAGS = --coverage -O0
24 endif
25
26 if HAVE_PCAP
27 WANBIN = gnunet-transport-wlan-helper
28 endif
29
30 if LINUX
31 NATBIN = gnunet-nat-server gnunet-nat-client
32 install-exec-hook:
33         chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
34         chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client $(bindir)/gnunet-wlan || true
35 else
36 install-exec-hook:
37 endif
38
39
40 lib_LTLIBRARIES = \
41   libgnunettransport.la
42
43 libgnunettransport_la_SOURCES = \
44   transport_api.c transport.h \
45   transport_api_blacklist.c \
46   transport_api_address_lookup.c 
47 libgnunettransport_la_LIBADD = \
48   $(top_builddir)/src/hello/libgnunethello.la \
49   $(top_builddir)/src/util/libgnunetutil.la \
50   $(GN_LIBINTL) 
51 libgnunettransport_la_LDFLAGS = \
52   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
53   -version-info 0:0:0
54
55
56 bin_PROGRAMS = \
57  gnunet-transport \
58  $(WANBIN) \
59  gnunet-service-transport $(NATBIN)
60
61 bin_SCRIPTS = \
62  gnunet-transport-certificate-creation
63
64 gnunet_nat_server_SOURCES = \
65  gnunet-nat-server.c         
66
67 gnunet_transport_wlan_helper_SOURCES = \
68  gnunet-transport-wlan-helper.c         
69 gnunet_transport_wlan_helper_LDADD = \
70  -lpcap
71
72 gnunet_nat_client_SOURCES = \
73  gnunet-nat-client.c         
74
75 gnunet_transport_SOURCES = \
76  gnunet-transport.c         
77 gnunet_transport_LDADD = \
78   $(top_builddir)/src/transport/libgnunettransport.la \
79   $(top_builddir)/src/util/libgnunetutil.la \
80   $(GN_LIBINTL)
81
82 gnunet_service_transport_SOURCES = \
83  gnunet-service-transport.c plugin_transport.h 
84 gnunet_service_transport_LDADD = \
85   $(top_builddir)/src/hello/libgnunethello.la \
86   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
87   $(top_builddir)/src/statistics/libgnunetstatistics.la \
88   $(top_builddir)/src/util/libgnunetutil.la \
89   $(GN_LIBINTL)
90
91
92 plugin_LTLIBRARIES = \
93   libgnunet_plugin_transport_tcp.la \
94   libgnunet_plugin_transport_udp.la \
95   $(HTTP_PLUGIN_LA) \
96   $(HTTPS_PLUGIN_LA) \
97   libgnunet_plugin_transport_template.la
98 # TODO: add nat, etc.
99
100 libgnunet_plugin_transport_tcp_la_SOURCES = \
101   plugin_transport_tcp.c
102 libgnunet_plugin_transport_tcp_la_LIBADD = \
103   $(top_builddir)/src/hello/libgnunethello.la \
104   $(top_builddir)/src/statistics/libgnunetstatistics.la \
105   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
106   $(top_builddir)/src/util/libgnunetutil.la 
107 libgnunet_plugin_transport_tcp_la_LDFLAGS = \
108  $(GN_PLUGIN_LDFLAGS)
109
110 libgnunet_plugin_transport_template_la_SOURCES = \
111   plugin_transport_template.c
112 libgnunet_plugin_transport_template_la_LIBADD = \
113   $(top_builddir)/src/util/libgnunetutil.la 
114 libgnunet_plugin_transport_template_la_LDFLAGS = \
115  $(GN_PLUGIN_LDFLAGS)
116
117 libgnunet_plugin_transport_udp_la_SOURCES = \
118   plugin_transport_udp.c
119 libgnunet_plugin_transport_udp_la_LIBADD = \
120   $(top_builddir)/src/hello/libgnunethello.la \
121   $(top_builddir)/src/statistics/libgnunetstatistics.la \
122   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
123   $(top_builddir)/src/util/libgnunetutil.la 
124 libgnunet_plugin_transport_udp_la_LDFLAGS = \
125  $(GN_PLUGIN_LDFLAGS)
126
127 #libgnunet_plugin_transport_udp_nat_la_SOURCES = \
128 #  plugin_transport_udp_nat.c
129 #libgnunet_plugin_transport_udp_nat_la_LIBADD = \
130 #  $(top_builddir)/src/hello/libgnunethello.la \
131 #  $(top_builddir)/src/statistics/libgnunetstatistics.la \
132 #  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
133 #  $(top_builddir)/src/util/libgnunetutil.la 
134 #libgnunet_plugin_transport_udp_nat_la_LDFLAGS = \
135 # $(GN_PLUGIN_LDFLAGS)
136
137 if HAVE_MHD 
138 libgnunet_plugin_transport_http_la_SOURCES = \
139   plugin_transport_http.c
140 libgnunet_plugin_transport_http_la_LIBADD = \
141   $(top_builddir)/src/hello/libgnunethello.la \
142   $(top_builddir)/src/statistics/libgnunetstatistics.la \
143   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
144   @LIBCURL@ \
145   $(top_builddir)/src/util/libgnunetutil.la 
146 libgnunet_plugin_transport_http_la_LDFLAGS = \
147  $(GN_LIBMHD) \
148  $(GN_PLUGIN_LDFLAGS)
149  
150 libgnunet_plugin_transport_https_la_SOURCES = \
151   plugin_transport_https.c
152 libgnunet_plugin_transport_https_la_LIBADD = \
153   $(top_builddir)/src/hello/libgnunethello.la \
154   $(top_builddir)/src/statistics/libgnunetstatistics.la \
155   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
156   @LIBCURL@ \
157   $(top_builddir)/src/util/libgnunetutil.la 
158 libgnunet_plugin_transport_https_la_LDFLAGS = \
159  $(GN_LIBMHD) \
160  $(GN_PLUGIN_LDFLAGS) 
161 endif
162
163 check_PROGRAMS = \
164  test_transport_api_tcp \
165  test_transport_api_tcp_nat \
166  test_transport_api_udp \
167  test_transport_api_udp_nat \
168  $(HTTP_PLUGIN_TEST) \
169  $(HTTP_API_TEST) \
170  $(HTTPS_PLUGIN_TEST) \
171  $(HTTPS_API_TEST) \
172  test_transport_api_reliability_tcp \
173  test_transport_api_reliability_tcp_nat \
174  test_transport_api_reliability_udp \
175  $(HTTP_REL_TEST) \
176  $(HTTPS_REL_TEST)
177 # TODO: add tests for nat, etc.
178
179 if !DISABLE_TEST_RUN
180 TESTS = \
181  test_transport_api_tcp \
182  test_transport_api_tcp_nat \
183  test_transport_api_udp \
184  test_transport_api_udp_nat \
185  $(HTTP_PLUGIN_TEST) \
186  $(HTTP_API_TEST) \
187  $(HTTPS_PLUGIN_TEST) \
188  $(HTTPS_API_TEST) \
189  test_transport_api_reliability_tcp \
190  test_transport_api_reliability_tcp_nat \
191  $(HTTP_REL_TEST) \
192  $(HTTPS_REL_TEST)
193 endif
194
195 test_transport_api_tcp_SOURCES = \
196  test_transport_api.c
197 test_transport_api_tcp_LDADD = \
198  $(top_builddir)/src/transport/libgnunettransport.la \
199  $(top_builddir)/src/util/libgnunetutil.la  
200
201 test_transport_api_tcp_nat_SOURCES = \
202  test_transport_api.c
203 test_transport_api_tcp_nat_LDADD = \
204  $(top_builddir)/src/transport/libgnunettransport.la \
205  $(top_builddir)/src/util/libgnunetutil.la  
206
207 test_transport_api_reliability_tcp_SOURCES = \
208  test_transport_api_reliability.c
209 test_transport_api_reliability_tcp_LDADD = \
210  $(top_builddir)/src/transport/libgnunettransport.la \
211  $(top_builddir)/src/util/libgnunetutil.la  
212
213 test_transport_api_reliability_tcp_nat_SOURCES = \
214  test_transport_api_reliability.c
215 test_transport_api_reliability_tcp_nat_LDADD = \
216  $(top_builddir)/src/transport/libgnunettransport.la \
217  $(top_builddir)/src/util/libgnunetutil.la 
218
219 test_transport_api_reliability_udp_SOURCES = \
220  test_transport_api_reliability.c
221 test_transport_api_reliability_udp_LDADD = \
222  $(top_builddir)/src/transport/libgnunettransport.la \
223  $(top_builddir)/src/util/libgnunetutil.la   
224
225 test_transport_api_udp_SOURCES = \
226  test_transport_api.c
227 test_transport_api_udp_LDADD = \
228  $(top_builddir)/src/transport/libgnunettransport.la \
229  $(top_builddir)/src/util/libgnunetutil.la  
230
231 test_transport_api_udp_nat_SOURCES = \
232  test_transport_api.c
233 test_transport_api_udp_nat_LDADD = \
234  $(top_builddir)/src/transport/libgnunettransport.la \
235  $(top_builddir)/src/util/libgnunetutil.la  
236
237 if HAVE_MHD
238
239 test_plugin_transport_http_SOURCES = \
240  test_plugin_transport_http.c
241 test_plugin_transport_http_LDADD = \
242  $(top_builddir)/src/transport/libgnunettransport.la \
243  $(top_builddir)/src/statistics/libgnunetstatistics.la \
244  @LIBCURL@ \
245  $(top_builddir)/src/util/libgnunetutil.la  
246
247 test_transport_api_http_SOURCES = \
248  test_transport_api.c
249 test_transport_api_http_LDADD = \
250  $(top_builddir)/src/transport/libgnunettransport.la \
251  $(top_builddir)/src/util/libgnunetutil.la  
252
253 test_transport_api_reliability_http_SOURCES = \
254  test_transport_api_reliability.c
255 test_transport_api_reliability_http_LDADD = \
256  $(top_builddir)/src/transport/libgnunettransport.la \
257  $(top_builddir)/src/util/libgnunetutil.la
258  
259 test_plugin_transport_https_SOURCES = \
260  test_plugin_transport_https.c
261 test_plugin_transport_https_LDADD = \
262  $(top_builddir)/src/transport/libgnunettransport.la \
263  $(top_builddir)/src/statistics/libgnunetstatistics.la \
264  @LIBCURL@ \
265  $(top_builddir)/src/util/libgnunetutil.la  
266
267 test_transport_api_https_SOURCES = \
268  test_transport_api.c
269 test_transport_api_https_LDADD = \
270  $(top_builddir)/src/transport/libgnunettransport.la \
271  $(top_builddir)/src/util/libgnunetutil.la  
272  
273 test_transport_api_reliability_https_SOURCES = \
274  test_transport_api_reliability.c
275 test_transport_api_reliability_https_LDADD = \
276  $(top_builddir)/src/transport/libgnunettransport.la \
277  $(top_builddir)/src/util/libgnunetutil.la    
278 endif
279
280 EXTRA_DIST = \
281   test_transport_api_data.conf \
282   test_transport_api_tcp_peer1.conf \
283   test_transport_api_tcp_peer2.conf \
284   test_transport_api_udp_peer1.conf \
285   test_transport_api_udp_peer2.conf \
286   test_transport_api_udp_nat_peer1.conf \
287   test_transport_api_udp_nat_peer2.conf \
288   test_transport_api_tcp_nat_peer1.conf \
289   test_transport_api_tcp_nat_peer2.conf \
290   test_plugin_transport_data.conf \
291   test_transport_api_http_peer1.conf \
292   test_transport_api_http_peer2.conf \
293   test_transport_api_https_peer1.conf \
294   test_transport_api_https_peer2.conf \
295   test_transport_api_rel_http_peer1.conf \
296   test_transport_api_rel_http_peer2.conf \
297   test_transport_api_rel_https_peer1.conf \
298   test_transport_api_rel_https_peer2.conf \
299   test_plugin_transport_data_http.conf