iptables-unit: Check if rules are inserted/removed
[platform/upstream/connman.git] / Makefile.am
1
2 AM_MAKEFLAGS = --no-print-directory
3
4 includedir = @includedir@/connman
5
6 include_HEADERS = include/types.h include/log.h include/plugin.h \
7                         include/notifier.h include/service.h \
8                         include/resolver.h include/ipconfig.h \
9                         include/device.h include/network.h include/inet.h \
10                         include/storage.h include/provision.h \
11                         include/session.h include/ipaddress.h include/agent.h \
12                         include/inotify.h
13
14 nodist_include_HEADERS = include/version.h
15
16 noinst_HEADERS = include/rtnl.h include/task.h \
17                         include/dbus.h include/option.h \
18                         include/provider.h include/vpn-dbus.h \
19                         include/utsname.h include/timeserver.h include/proxy.h \
20                         include/technology.h include/setting.h
21
22 local_headers = $(foreach file,$(include_HEADERS) $(nodist_include_HEADERS) \
23                         $(noinst_HEADERS), include/connman/$(notdir $(file)))
24
25
26 gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/watch.c \
27                                 gdbus/object.c gdbus/client.c gdbus/polkit.c
28
29 gdhcp_sources = gdhcp/gdhcp.h gdhcp/common.h gdhcp/common.c gdhcp/client.c \
30                 gdhcp/server.c gdhcp/ipv4ll.h gdhcp/ipv4ll.c gdhcp/unaligned.h
31
32 gweb_sources = gweb/gweb.h gweb/gweb.c gweb/gresolv.h gweb/gresolv.c
33
34 if WISPR
35 gweb_sources += gweb/giognutls.h gweb/giognutls.c
36 else
37 gweb_sources += gweb/giognutls.h gweb/gionotls.c
38 endif
39
40 if DATAFILES
41
42 if NMCOMPAT
43 nmcompat_conf = plugins/connman-nmcompat.conf
44 endif
45
46 dbusconfdir = @DBUS_CONFDIR@
47
48 dbusconf_DATA = src/connman.conf $(nmcompat_conf)
49
50 if VPN
51 dbusconf_DATA += vpn/connman-vpn-dbus.conf
52 dbusservicedir = @DBUS_DATADIR@
53 dbusservice_DATA = vpn/net.connman.vpn.service
54 endif
55
56 if SYSTEMD
57 systemdunitdir = @SYSTEMD_UNITDIR@
58
59 systemdunit_DATA = src/connman.service
60
61 if VPN
62 systemdunit_DATA += vpn/connman-vpn.service
63 endif
64 endif
65 endif
66
67 plugin_LTLIBRARIES =
68
69 plugin_objects =
70
71 builtin_modules =
72 builtin_sources =
73 builtin_libadd =
74 builtin_cflags =
75
76 noinst_PROGRAMS =
77
78 unit_objects =
79
80 MANUAL_PAGES =
81
82 sbin_PROGRAMS = src/connmand
83
84 src_connmand_SOURCES = $(gdbus_sources) $(gdhcp_sources) $(gweb_sources) \
85                         $(builtin_sources) src/connman.ver \
86                         src/main.c src/connman.h src/log.c \
87                         src/error.c src/plugin.c src/task.c \
88                         src/device.c src/network.c src/connection.c \
89                         src/manager.c src/service.c \
90                         src/clock.c src/timezone.c src/agent-connman.c \
91                         src/agent.c src/notifier.c src/provider.c \
92                         src/resolver.c src/ipconfig.c src/detect.c src/inet.c \
93                         src/dhcp.c src/dhcpv6.c src/rtnl.c src/proxy.c \
94                         src/utsname.c src/timeserver.c src/rfkill.c \
95                         src/storage.c src/dbus.c src/config.c \
96                         src/technology.c src/counter.c src/ntp.c \
97                         src/session.c src/tethering.c src/wpad.c src/wispr.c \
98                         src/stats.c src/iptables.c src/dnsproxy.c src/6to4.c \
99                         src/ippool.c src/bridge.c src/nat.c src/ipaddress.c \
100                         src/inotify.c
101
102 src_connmand_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ \
103                                 @XTABLES_LIBS@ @GNUTLS_LIBS@ -lresolv -ldl -lrt
104
105 src_connmand_LDFLAGS = -Wl,--export-dynamic \
106                                 -Wl,--version-script=$(srcdir)/src/connman.ver
107
108 if VPN
109 vpn_plugin_LTLIBRARIES =
110
111 vpn_plugin_objects =
112
113 builtin_vpn_modules =
114 builtin_vpn_sources =
115 builtin_vpn_libadd =
116 builtin_vpn_cflags =
117
118 sbin_PROGRAMS += vpn/connman-vpnd
119
120 vpn_connman_vpnd_SOURCES = $(gdbus_sources) $(builtin_vpn_sources) \
121                         $(gweb_sources) vpn/vpn.ver vpn/main.c vpn/vpn.h \
122                         src/log.c src/error.c src/plugin.c src/task.c \
123                         vpn/vpn-manager.c vpn/vpn-provider.c \
124                         vpn/vpn-provider.h vpn/vpn-rtnl.h \
125                         vpn/vpn-ipconfig.c src/inet.c vpn/vpn-rtnl.c \
126                         src/dbus.c src/storage.c src/ipaddress.c src/agent.c \
127                         vpn/vpn-agent.c vpn/vpn-agent.h src/inotify.c \
128                         vpn/vpn-config.c
129
130 vpn_connman_vpnd_LDADD = $(builtin_vpn_libadd) @GLIB_LIBS@ @DBUS_LIBS@ \
131                                 @GNUTLS_LIBS@ -lresolv -ldl
132
133 vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
134                                 -Wl,--version-script=$(srcdir)/vpn/vpn.ver
135 endif
136
137 BUILT_SOURCES = $(local_headers) src/builtin.h
138
139 if VPN
140 BUILT_SOURCES += vpn/builtin.h
141 endif
142
143 CLEANFILES = src/connman.conf $(BUILT_SOURCES)
144
145 statedir = $(localstatedir)/run/connman
146
147 if VPN
148 vpn_plugindir = $(libdir)/connman/plugins-vpn
149 endif
150
151 plugindir = $(libdir)/connman/plugins
152
153 scriptdir = $(libdir)/connman/scripts
154
155 storagedir = $(localstatedir)/lib/connman
156 vpn_storagedir = $(localstatedir)/lib/connman-vpn
157
158 configdir = ${sysconfdir}/connman
159
160 if MAINTAINER_MODE
161 if VPN
162 build_vpn_plugindir = $(abs_top_srcdir)/vpn/plugins/.libs
163 endif
164 build_plugindir = $(abs_top_srcdir)/plugins/.libs
165 build_scriptdir = $(abs_top_srcdir)/scripts
166 else
167 build_plugindir = $(plugindir)
168 build_scriptdir = $(scriptdir)
169 if VPN
170 build_vpn_plugindir = $(vpn_plugindir)
171 endif
172 endif
173
174 AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
175                                 @GNUTLS_CFLAGS@ $(builtin_cflags) \
176                                 -DCONNMAN_PLUGIN_BUILTIN \
177                                 -DSTATEDIR=\""$(statedir)"\" \
178                                 -DPLUGINDIR=\""$(build_plugindir)"\" \
179                                 -DSCRIPTDIR=\""$(build_scriptdir)"\" \
180                                 -DSTORAGEDIR=\""$(storagedir)\"" \
181                                 -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
182                                 -DCONFIGDIR=\""$(configdir)\""
183
184 if VPN
185 AM_CPPFLAGS = -I$(builddir)/include -I$(srcdir)/gdbus
186 else
187 AM_CPPFLAGS = -I$(builddir)/include -I$(builddir)/src -I$(srcdir)/gdbus
188 endif
189
190 src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
191                                 @GNUTLS_CFLAGS@ $(builtin_cflags) \
192                                 -DCONNMAN_PLUGIN_BUILTIN \
193                                 -DSTATEDIR=\""$(statedir)"\" \
194                                 -DPLUGINDIR=\""$(build_plugindir)"\" \
195                                 -DSCRIPTDIR=\""$(build_scriptdir)"\" \
196                                 -DSTORAGEDIR=\""$(storagedir)\"" \
197                                 -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
198                                 -DCONFIGDIR=\""$(configdir)\"" \
199                                 -I$(builddir)/src
200
201 EXTRA_DIST = src/genbuiltin src/connman-dbus.conf src/connman-polkit.conf \
202                                                 plugins/connman-nmcompat.conf
203
204 if VPN
205 vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
206                                 $(builtin_vpn_cflags) \
207                                 -DCONNMAN_PLUGIN_BUILTIN \
208                                 -DSTATEDIR=\""$(statedir)"\" \
209                                 -DPLUGINDIR=\""$(build_vpn_plugindir)"\" \
210                                 -DSCRIPTDIR=\""$(build_scriptdir)"\" \
211                                 -DSTORAGEDIR=\""$(storagedir)\"" \
212                                 -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
213                                 -DCONFIGDIR=\""$(configdir)\"" \
214                                 -I$(builddir)/vpn
215
216 endif
217
218 EXTRA_DIST += vpn/vpn-dbus.conf vpn/vpn-polkit.conf
219
220 script_DATA =
221 script_PROGRAMS =
222 script_LTLIBRARIES =
223
224 include Makefile.plugins
225
226 if CLIENT
227 noinst_PROGRAMS += client/connmanctl
228
229 MANUAL_PAGES += doc/connmanctl.1
230
231 client_connmanctl_SOURCES =  $(gdbus_sources) src/connman.h \
232                         client/dbus.h client/dbus.c \
233                         client/data_manager.h client/data_manager.c \
234                         client/services.h client/services.c \
235                         client/technology.h client/technology.c \
236                         client/interactive.h client/interactive.c \
237                         client/monitor.h client/monitor.c \
238                         client/commands.c client/main.c
239
240 client_connmanctl_LDADD = @DBUS_LIBS@ @GLIB_LIBS@ -lreadline -ldl
241 endif
242
243 noinst_PROGRAMS += unit/test-pbkdf2-sha1 unit/test-prf-sha1 unit/test-ippool
244
245 unit_test_pbkdf2_sha1_SOURCES = unit/test-pbkdf2-sha1.c \
246                                 src/shared/sha1.h src/shared/sha1.c
247 unit_test_pbkdf2_sha1_LDADD = @GLIB_LIBS@
248
249 unit_test_prf_sha1_SOURCES = unit/test-prf-sha1.c \
250                                 src/shared/sha1.h src/shared/sha1.c
251 unit_test_prf_sha1_LDADD = @GLIB_LIBS@
252
253 unit_test_ippool_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
254                  src/ippool.c unit/test-ippool.c
255 unit_test_ippool_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
256
257 TESTS = unit/test-pbkdf2-sha1 unit/test-prf-sha1 unit/test-ippool
258
259 if WISPR
260 noinst_PROGRAMS += tools/wispr
261
262 tools_wispr_SOURCES = $(gweb_sources) tools/wispr.c
263 tools_wispr_LDADD = @GLIB_LIBS@ @GNUTLS_LIBS@ -lresolv
264 endif
265
266 if TOOLS
267 noinst_PROGRAMS += tools/supplicant-test \
268                         tools/dhcp-test tools/dhcp-server-test \
269                         tools/addr-test tools/web-test tools/resolv-test \
270                         tools/dbus-test tools/polkit-test \
271                         tools/iptables-test tools/tap-test tools/wpad-test \
272                         tools/stats-tool tools/private-network-test \
273                         tools/session-test tools/iptables-unit
274
275 tools_supplicant_test_SOURCES = $(gdbus_sources) tools/supplicant-test.c \
276                         tools/supplicant-dbus.h tools/supplicant-dbus.c \
277                         tools/supplicant.h tools/supplicant.c
278 tools_supplicant_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
279
280 tools_web_test_SOURCES = $(gweb_sources) tools/web-test.c
281 tools_web_test_LDADD = @GLIB_LIBS@ @GNUTLS_LIBS@ -lresolv
282
283 tools_resolv_test_SOURCES = gweb/gresolv.h gweb/gresolv.c tools/resolv-test.c
284 tools_resolv_test_LDADD = @GLIB_LIBS@ -lresolv
285
286 tools_wpad_test_SOURCES = gweb/gresolv.h gweb/gresolv.c tools/wpad-test.c
287 tools_wpad_test_LDADD = @GLIB_LIBS@ -lresolv
288
289 tools_stats_tool_LDADD = @GLIB_LIBS@
290
291 tools_dhcp_test_SOURCES = $(gdhcp_sources) tools/dhcp-test.c
292 tools_dhcp_test_LDADD = @GLIB_LIBS@
293
294 tools_dhcp_server_test_SOURCES = $(gdhcp_sources) tools/dhcp-server-test.c
295 tools_dhcp_server_test_LDADD = @GLIB_LIBS@
296
297 tools_dbus_test_SOURCES = $(gdbus_sources) tools/dbus-test.c
298 tools_dbus_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
299
300 tools_polkit_test_LDADD = @DBUS_LIBS@
301
302 tools_iptables_test_SOURCES = src/log.c src/iptables.c tools/iptables-test.c
303 tools_iptables_test_LDADD = @GLIB_LIBS@ @XTABLES_LIBS@ -ldl
304
305 tools_private_network_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
306
307 tools_session_test_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
308                 tools/session-test.c tools/session-utils.c tools/manager-api.c \
309                 tools/session-api.c tools/session-test.h
310 tools_session_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
311
312 tools_iptables_unit_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
313                 -DIPTABLES_SAVE=\""${IPTABLES_SAVE}"\"
314 tools_iptables_unit_SOURCES = $(gdbus_sources) src/log.c \
315                  src/iptables.c src/nat.c tools/iptables-unit.c
316 tools_iptables_unit_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ -ldl
317
318 endif
319
320 test_scripts = test/get-state test/list-services \
321                 test/monitor-services test/test-clock \
322                 test/simple-agent test/show-introspection test/test-compat \
323                 test/test-manager test/test-connman test/monitor-connman \
324                 test/connect-provider test/remove-provider \
325                 test/test-counter test/set-ipv4-method test/set-ipv6-method \
326                 test/get-services test/get-proxy-autoconfig test/set-proxy \
327                 test/enable-tethering test/disable-tethering test/backtrace \
328                 test/test-session test/test-supplicant \
329                 test/test-new-supplicant test/service-move-before \
330                 test/set-global-timeservers test/get-global-timeservers \
331                 test/set-nameservers test/set-domains test/set-timeservers
332
333 test_scripts += test/vpn-connect test/vpn-disconnect test/vpn-get \
334                 test/monitor-vpn test/vpn-property
335
336 if TEST
337 testdir = $(pkglibdir)/test
338 test_SCRIPTS = $(test_scripts)
339 endif
340
341 EXTRA_DIST += $(test_scripts)
342
343 EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
344                                 doc/ipconfig-api.txt doc/plugin-api.txt \
345                                 doc/manager-api.txt doc/agent-api.txt \
346                                 doc/service-api.txt doc/technology-api.txt \
347                                 doc/counter-api.txt doc/config-format.txt \
348                                 doc/clock-api.txt doc/session-api.txt \
349                                 doc/session-overview.txt doc/backtrace.txt \
350                                 doc/advanced-configuration.txt \
351                                 doc/vpn-connection-api.txt \
352                                 doc/vpn-manager-api.txt doc/vpn-overview.txt
353
354 MANUAL_PAGES += doc/connman.8 doc/connman.conf.5
355
356 noinst_dist_man_MANS = $(MANUAL_PAGES)
357
358 pkgconfigdir = $(libdir)/pkgconfig
359
360 pkgconfig_DATA = connman.pc
361
362 DISTCHECK_CONFIGURE_FLAGS = --disable-gtk-doc \
363                                 --disable-datafiles \
364                                 --enable-hh2serial-gps \
365                                 --enable-openconnect \
366                                 --enable-openvpn \
367                                 --enable-vpnc \
368                                 --enable-session-policy-local \
369                                 --enable-nmcompat \
370                                 --enable-polkit
371
372 DISTCLEANFILES = $(pkgconfig_DATA)
373
374 MAINTAINERCLEANFILES = Makefile.in \
375         aclocal.m4 configure config.h.in config.sub config.guess \
376         ltmain.sh depcomp compile missing install-sh mkinstalldirs
377
378
379 src/builtin.h: src/genbuiltin $(builtin_sources)
380         $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
381
382 vpn/builtin.h: src/genbuiltin $(builtin_vpn_sources)
383         $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_vpn_modules) > $@
384
385 src/connman.conf: src/connman-dbus.conf src/connman-polkit.conf
386 if POLKIT
387         $(AM_V_GEN)cp $(srcdir)/src/connman-polkit.conf $@
388 else
389         $(AM_V_GEN)cp $(srcdir)/src/connman-dbus.conf $@
390 endif
391
392 if VPN
393 vpn/connman-vpn-dbus.conf: vpn/vpn-dbus.conf vpn/vpn-polkit.conf
394 if POLKIT
395         $(AM_V_GEN)cp $(srcdir)/vpn/vpn-polkit.conf $@
396 else
397         $(AM_V_GEN)cp $(srcdir)/vpn/vpn-dbus.conf $@
398 endif
399 endif
400
401 if SELINUX
402 if VPN
403 EXTRA_DIST += connman-task.pp
404 CLEANFILES += connman-task.pp
405 endif
406
407 connman-task.pp: vpn/connman-task.te
408         make -f /usr/share/selinux/devel/Makefile
409 endif
410
411 EXTRA_DIST += vpn/connman-task.te
412
413 include/connman/version.h: include/version.h
414         $(AM_V_at)$(MKDIR_P) include/connman
415         $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
416
417 include/connman/%.h: $(abs_top_srcdir)/include/%.h
418         $(AM_V_at)$(MKDIR_P) include/connman
419         $(AM_V_GEN)$(LN_S) $< $@
420
421 clean-local:
422         @$(RM) -rf include/connman