8db85aa917bc654138655a80aa58e2061d714e56
[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  GN_LIBMHD = -lmicrohttpd
10  HTTP_PLUGIN_LA = libgnunet_plugin_transport_http.la
11  HTTP_PLUGIN_CHECK = test_plugin_transport_http
12
13 if USE_COVERAGE
14   AM_CFLAGS = --coverage -O0
15 endif
16
17 if LINUX
18 NATBIN = gnunet-nat-server gnunet-nat-client
19 install-exec-hook:
20         chown root $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client || true
21         chmod u+s $(bindir)/gnunet-nat-server $(bindir)/gnunet-nat-client || true
22 else
23 install-exec-hook:
24 endif
25
26
27 lib_LTLIBRARIES = \
28   libgnunettransport.la
29
30 libgnunettransport_la_SOURCES = \
31   transport_api.c transport.h \
32   transport_api_blacklist.c \
33   transport_api_address_lookup.c 
34 libgnunettransport_la_LIBADD = \
35   $(top_builddir)/src/hello/libgnunethello.la \
36   $(top_builddir)/src/util/libgnunetutil.la \
37   $(GN_LIBINTL) 
38 libgnunettransport_la_LDFLAGS = \
39   $(GN_LIB_LDFLAGS) $(WINFLAGS) \
40   -version-info 0:0:0
41
42
43 bin_PROGRAMS = \
44  gnunet-transport \
45  gnunet-service-transport $(NATBIN)
46
47
48 gnunet_nat_server_SOURCES = \
49  gnunet-nat-server.c         
50
51 gnunet_nat_client_SOURCES = \
52  gnunet-nat-client.c         
53
54 gnunet_transport_SOURCES = \
55  gnunet-transport.c         
56 gnunet_transport_LDADD = \
57   $(top_builddir)/src/transport/libgnunettransport.la \
58   $(top_builddir)/src/util/libgnunetutil.la \
59   $(GN_LIBINTL)
60
61 gnunet_service_transport_SOURCES = \
62  gnunet-service-transport.c plugin_transport.h 
63 gnunet_service_transport_LDADD = \
64   $(top_builddir)/src/hello/libgnunethello.la \
65   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
66   $(top_builddir)/src/statistics/libgnunetstatistics.la \
67   $(top_builddir)/src/util/libgnunetutil.la \
68   $(GN_LIBINTL)
69
70
71 plugin_LTLIBRARIES = \
72   libgnunet_plugin_transport_tcp.la \
73   libgnunet_plugin_transport_udp.la \
74   $(HTTP_PLUGIN_LA) \
75   libgnunet_plugin_transport_template.la
76 # TODO: add nat, etc.
77
78 libgnunet_plugin_transport_tcp_la_SOURCES = \
79   plugin_transport_tcp.c
80 libgnunet_plugin_transport_tcp_la_LIBADD = \
81   $(top_builddir)/src/hello/libgnunethello.la \
82   $(top_builddir)/src/statistics/libgnunetstatistics.la \
83   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
84   $(top_builddir)/src/util/libgnunetutil.la 
85 libgnunet_plugin_transport_tcp_la_LDFLAGS = \
86  $(GN_PLUGIN_LDFLAGS)
87
88 libgnunet_plugin_transport_template_la_SOURCES = \
89   plugin_transport_template.c
90 libgnunet_plugin_transport_template_la_LIBADD = \
91   $(top_builddir)/src/util/libgnunetutil.la 
92 libgnunet_plugin_transport_template_la_LDFLAGS = \
93  $(GN_PLUGIN_LDFLAGS)
94
95 libgnunet_plugin_transport_udp_la_SOURCES = \
96   plugin_transport_udp.c
97 libgnunet_plugin_transport_udp_la_LIBADD = \
98   $(top_builddir)/src/hello/libgnunethello.la \
99   $(top_builddir)/src/statistics/libgnunetstatistics.la \
100   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
101   $(top_builddir)/src/util/libgnunetutil.la 
102 libgnunet_plugin_transport_udp_la_LDFLAGS = \
103  $(GN_PLUGIN_LDFLAGS)
104
105 #libgnunet_plugin_transport_udp_nat_la_SOURCES = \
106 #  plugin_transport_udp_nat.c
107 #libgnunet_plugin_transport_udp_nat_la_LIBADD = \
108 #  $(top_builddir)/src/hello/libgnunethello.la \
109 #  $(top_builddir)/src/statistics/libgnunetstatistics.la \
110 #  $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
111 #  $(top_builddir)/src/util/libgnunetutil.la 
112 #libgnunet_plugin_transport_udp_nat_la_LDFLAGS = \
113 # $(GN_PLUGIN_LDFLAGS)
114
115 if HAVE_MHD 
116 libgnunet_plugin_transport_http_la_SOURCES = \
117   plugin_transport_http.c
118 libgnunet_plugin_transport_http_la_LIBADD = \
119   $(top_builddir)/src/hello/libgnunethello.la \
120   $(top_builddir)/src/statistics/libgnunetstatistics.la \
121   $(top_builddir)/src/peerinfo/libgnunetpeerinfo.la \
122   @LIBCURL@ \
123   $(top_builddir)/src/util/libgnunetutil.la 
124 libgnunet_plugin_transport_http_la_LDFLAGS = \
125  $(GN_LIBMHD) \
126  $(GN_PLUGIN_LDFLAGS)
127 endif
128
129 check_PROGRAMS = \
130  test_transport_api_tcp \
131  test_transport_api_tcp_nat \
132  test_transport_api_udp \
133  $(HTTP_PLUGIN_CHECK) \
134  test_transport_api_udp_nat \
135  test_transport_api_reliability_tcp \
136  test_transport_api_reliability_tcp_nat \
137  test_transport_api_reliability_udp \
138  test_transport_api_http \
139  test_transport_api_reliability_http 
140 # TODO: add tests for nat, etc.
141
142 TESTS = \
143  test_transport_api_tcp \
144  test_transport_api_tcp_nat \
145  test_transport_api_udp \
146  test_transport_api_udp_nat \
147  test_plugin_transport_http \
148  test_transport_api_http \
149  test_transport_api_reliability_tcp \
150  test_transport_api_reliability_tcp_nat \ 
151  test_transport_api_reliability_http
152
153 test_transport_api_tcp_SOURCES = \
154  test_transport_api.c
155 test_transport_api_tcp_LDADD = \
156  $(top_builddir)/src/transport/libgnunettransport.la \
157  $(top_builddir)/src/util/libgnunetutil.la  
158
159 test_transport_api_tcp_nat_SOURCES = \
160  test_transport_api.c
161 test_transport_api_tcp_nat_LDADD = \
162  $(top_builddir)/src/transport/libgnunettransport.la \
163  $(top_builddir)/src/util/libgnunetutil.la  
164
165 test_transport_api_reliability_tcp_SOURCES = \
166  test_transport_api_reliability.c
167 test_transport_api_reliability_tcp_LDADD = \
168  $(top_builddir)/src/transport/libgnunettransport.la \
169  $(top_builddir)/src/util/libgnunetutil.la  
170
171 test_transport_api_reliability_tcp_nat_SOURCES = \
172  test_transport_api_reliability.c
173 test_transport_api_reliability_tcp_nat_LDADD = \
174  $(top_builddir)/src/transport/libgnunettransport.la \
175  $(top_builddir)/src/util/libgnunetutil.la 
176
177 test_transport_api_reliability_udp_SOURCES = \
178  test_transport_api_reliability.c
179 test_transport_api_reliability_udp_LDADD = \
180  $(top_builddir)/src/transport/libgnunettransport.la \
181  $(top_builddir)/src/util/libgnunetutil.la   
182  
183 test_transport_api_reliability_http_SOURCES = \
184  test_transport_api_reliability.c
185 test_transport_api_reliability_http_LDADD = \
186  $(top_builddir)/src/transport/libgnunettransport.la \
187  $(top_builddir)/src/util/libgnunetutil.la   
188
189 test_transport_api_udp_SOURCES = \
190  test_transport_api.c
191 test_transport_api_udp_LDADD = \
192  $(top_builddir)/src/transport/libgnunettransport.la \
193  $(top_builddir)/src/util/libgnunetutil.la  
194
195 test_transport_api_udp_nat_SOURCES = \
196  test_transport_api.c
197 test_transport_api_udp_nat_LDADD = \
198  $(top_builddir)/src/transport/libgnunettransport.la \
199  $(top_builddir)/src/util/libgnunetutil.la  
200
201 test_transport_api_http_SOURCES = \
202  test_transport_api.c
203 test_transport_api_http_LDADD = \
204  $(top_builddir)/src/transport/libgnunettransport.la \
205  $(top_builddir)/src/util/libgnunetutil.la  
206
207 test_plugin_transport_http_SOURCES = \
208  test_plugin_transport_http.c
209 test_plugin_transport_http_LDADD = \
210  $(top_builddir)/src/transport/libgnunettransport.la \
211  $(top_builddir)/src/statistics/libgnunetstatistics.la \
212  @LIBCURL@ \
213  $(top_builddir)/src/util/libgnunetutil.la  
214
215
216 EXTRA_DIST = \
217   test_transport_api_data.conf \
218   test_transport_api_tcp_peer1.conf \
219   test_transport_api_tcp_peer2.conf \
220   test_transport_api_udp_peer1.conf \
221   test_transport_api_udp_peer2.conf \
222   test_transport_api_udp_nat_peer1.conf \
223   test_transport_api_udp_nat_peer2.conf \
224   test_transport_api_tcp_nat_peer1.conf \
225   test_transport_api_tcp_nat_peer2.conf \
226   test_plugin_transport_data.conf \
227   test_transport_api_http_peer1.conf \
228   test_transport_api_http_peer2.conf \
229   test_transport_api_rel_http_peer1.conf \
230   test_transport_api_rel_http_peer2.conf \
231   test_plugin_transport_data_http.conf