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