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