Imported Upstream version 1.35
[platform/upstream/connman.git] / Makefile.am
1
2 AM_MAKEFLAGS = --no-print-directory
3
4 noinst_LTLIBRARIES =
5
6 includedir = @includedir@/connman
7
8 include_HEADERS = include/log.h include/plugin.h \
9                         include/notifier.h include/service.h \
10                         include/resolver.h include/ipconfig.h \
11                         include/device.h include/network.h include/inet.h \
12                         include/storage.h include/provision.h \
13                         include/session.h include/ipaddress.h include/agent.h \
14                         include/inotify.h include/peer.h include/machine.h
15
16 nodist_include_HEADERS = include/version.h
17
18 noinst_HEADERS = include/rtnl.h include/task.h \
19                         include/dbus.h include/option.h \
20                         include/provider.h include/vpn-dbus.h \
21                         include/utsname.h include/timeserver.h include/proxy.h \
22                         include/technology.h include/setting.h \
23                         include/backtrace.h
24
25 local_headers = $(foreach file,$(include_HEADERS) $(nodist_include_HEADERS) \
26                         $(noinst_HEADERS), include/connman/$(notdir $(file)))
27
28
29 noinst_LTLIBRARIES += gdbus/libgdbus-internal.la
30
31 gdbus_libgdbus_internal_la_SOURCES = gdbus/gdbus.h \
32                                 gdbus/mainloop.c gdbus/watch.c \
33                                 gdbus/object.c gdbus/client.c gdbus/polkit.c
34
35 gdhcp_sources = gdhcp/gdhcp.h gdhcp/common.h gdhcp/common.c gdhcp/client.c \
36                 gdhcp/server.c gdhcp/ipv4ll.h gdhcp/ipv4ll.c gdhcp/unaligned.h
37
38 gweb_sources = gweb/gweb.h gweb/gweb.c gweb/gresolv.h gweb/gresolv.c
39
40 if WISPR
41 gweb_sources += gweb/giognutls.h gweb/giognutls.c
42 else
43 gweb_sources += gweb/giognutls.h gweb/gionotls.c
44 endif
45
46 if BACKTRACE
47 backtrace_sources = src/backtrace.c
48 endif
49
50 shared_sources = src/shared/util.h src/shared/util.c \
51                 src/shared/netlink.h src/shared/netlink.c
52
53 if DATAFILES
54
55 if NMCOMPAT
56 nmcompat_conf = plugins/connman-nmcompat.conf
57 endif
58
59 dbusconfdir = @DBUS_CONFDIR@
60
61 dbusconf_DATA = src/connman.conf $(nmcompat_conf)
62
63 if VPN
64 dbusconf_DATA += vpn/connman-vpn-dbus.conf
65 dbusservicedir = @DBUS_DATADIR@
66 dbusservice_DATA = vpn/net.connman.vpn.service
67 endif
68
69 if SYSTEMD
70 systemdunitdir = @SYSTEMD_UNITDIR@
71 systemdunit_DATA = src/connman.service src/connman-wait-online.service
72
73 tmpfilesdir = @SYSTEMD_TMPFILESDIR@
74 nodist_tmpfiles_DATA = scripts/connman_resolvconf.conf
75
76 if VPN
77 systemdunit_DATA += vpn/connman-vpn.service
78 endif
79 endif
80 endif
81
82 service_files_sources = src/connman.service.in src/net.connman.service.in \
83                                 vpn/connman-vpn.service.in \
84                                 vpn/net.connman.vpn.service.in \
85                                 src/connman-wait-online.service.in
86 service_files = src/connman.service src/net.connman.service \
87                                 vpn/connman-vpn.service \
88                                 vpn/net.connman.vpn.service \
89                                 src/connman-wait-online.service
90
91 plugin_LTLIBRARIES =
92
93 plugin_objects =
94
95 builtin_modules =
96 builtin_sources =
97 builtin_libadd =
98 builtin_cflags =
99
100 noinst_PROGRAMS =
101 bin_PROGRAMS =
102
103 unit_objects =
104
105 MANUAL_PAGES =
106
107 sbin_PROGRAMS = src/connmand src/connmand-wait-online
108
109 src_connmand_SOURCES = $(gdhcp_sources) $(gweb_sources) $(backtrace_sources) \
110                         $(builtin_sources) $(shared_sources) src/connman.ver \
111                         src/main.c src/connman.h src/log.c \
112                         src/error.c src/plugin.c src/task.c \
113                         src/device.c src/network.c src/connection.c \
114                         src/manager.c src/service.c \
115                         src/clock.c src/timezone.c src/agent-connman.c \
116                         src/agent.c src/notifier.c src/provider.c \
117                         src/resolver.c src/ipconfig.c src/detect.c src/inet.c \
118                         src/dhcp.c src/dhcpv6.c src/rtnl.c src/proxy.c \
119                         src/utsname.c src/timeserver.c src/rfkill.c \
120                         src/storage.c src/dbus.c src/config.c \
121                         src/technology.c src/counter.c src/ntp.c \
122                         src/session.c src/tethering.c src/wpad.c src/wispr.c \
123                         src/stats.c src/dnsproxy.c src/6to4.c \
124                         src/ippool.c src/bridge.c src/nat.c src/ipaddress.c \
125                         src/inotify.c src/ipv6pd.c src/peer.c \
126                         src/peer_service.c src/machine.c src/util.c
127
128 src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
129                         @GLIB_LIBS@ @DBUS_LIBS@ @GNUTLS_LIBS@ \
130                         -lresolv -ldl -lrt
131
132 src_connmand_LDFLAGS = -Wl,--export-dynamic \
133                                 -Wl,--version-script=$(srcdir)/src/connman.ver
134
135 src_connmand_wait_online_SOURCES = src/connmand-wait-online.c
136
137 src_connmand_wait_online_LDADD = gdbus/libgdbus-internal.la \
138                         @GLIB_LIBS@ @DBUS_LIBS@
139
140 if XTABLES
141 src_connmand_SOURCES += src/iptables.c src/firewall-iptables.c
142 src_connmand_LDADD += @XTABLES_LIBS@
143 endif
144
145 if NFTABLES
146 src_connmand_SOURCES += src/firewall-nftables.c
147 src_connmand_LDADD +=  @NFTABLES_LIBS@
148 endif
149
150 if VPN
151 vpn_plugin_LTLIBRARIES =
152
153 vpn_plugin_objects =
154
155 builtin_vpn_modules =
156 builtin_vpn_sources =
157 builtin_vpn_libadd =
158 builtin_vpn_cflags =
159
160 sbin_PROGRAMS += vpn/connman-vpnd
161
162 vpn_connman_vpnd_SOURCES = $(builtin_vpn_sources) $(backtrace_sources) \
163                         $(gweb_sources) vpn/vpn.ver vpn/main.c vpn/vpn.h \
164                         src/log.c src/error.c src/plugin.c src/task.c \
165                         vpn/vpn-manager.c vpn/vpn-provider.c \
166                         vpn/vpn-provider.h vpn/vpn-rtnl.h \
167                         vpn/vpn-ipconfig.c src/inet.c vpn/vpn-rtnl.c \
168                         src/dbus.c src/storage.c src/ipaddress.c src/agent.c \
169                         vpn/vpn-agent.c vpn/vpn-agent.h src/inotify.c \
170                         vpn/vpn-config.c
171
172 vpn_connman_vpnd_LDADD = gdbus/libgdbus-internal.la $(builtin_vpn_libadd) \
173                                 @GLIB_LIBS@ @DBUS_LIBS@ @GNUTLS_LIBS@ \
174                                 -lresolv -ldl
175
176 vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
177                                 -Wl,--version-script=$(srcdir)/vpn/vpn.ver
178 endif
179
180 BUILT_SOURCES = $(local_headers) src/builtin.h $(service_files) \
181         scripts/connman scripts/connman_resolvconf.conf
182
183 if VPN
184 BUILT_SOURCES += vpn/builtin.h
185 endif
186
187 CLEANFILES = src/connman.conf $(BUILT_SOURCES) $(service_files)
188
189 statedir = $(runstatedir)/connman
190 vpn_statedir = $(runstatedir)/connman-vpn
191
192 if VPN
193 vpn_plugindir = $(libdir)/connman/plugins-vpn
194 endif
195
196 plugindir = $(libdir)/connman/plugins
197
198 scriptdir = $(libdir)/connman/scripts
199
200 storagedir = $(localstatedir)/lib/connman
201 vpn_storagedir = $(localstatedir)/lib/connman-vpn
202
203 configdir = ${sysconfdir}/connman
204
205 if MAINTAINER_MODE
206 if VPN
207 build_vpn_plugindir = $(abs_top_srcdir)/vpn/plugins/.libs
208 endif
209 build_plugindir = $(abs_top_srcdir)/plugins/.libs
210 build_scriptdir = $(abs_top_srcdir)/scripts
211 else
212 build_plugindir = $(plugindir)
213 build_scriptdir = $(scriptdir)
214 if VPN
215 build_vpn_plugindir = $(vpn_plugindir)
216 endif
217 endif
218
219 AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
220                                 @GNUTLS_CFLAGS@ $(builtin_cflags) \
221                                 -DCONNMAN_PLUGIN_BUILTIN \
222                                 -DSTATEDIR=\""$(statedir)"\" \
223                                 -DVPN_STATEDIR=\""$(vpn_statedir)"\" \
224                                 -DPLUGINDIR=\""$(build_plugindir)"\" \
225                                 -DSCRIPTDIR=\""$(build_scriptdir)"\" \
226                                 -DSTORAGEDIR=\""$(storagedir)\"" \
227                                 -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
228                                 -DCONFIGDIR=\""$(configdir)\""
229
230 if VPN
231 AM_CPPFLAGS = -I$(builddir)/include -I$(srcdir)/gdbus
232 else
233 AM_CPPFLAGS = -I$(builddir)/include -I$(builddir)/src -I$(srcdir)/gdbus
234 endif
235
236 src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
237                                 @GNUTLS_CFLAGS@ $(builtin_cflags) \
238                                 -DCONNMAN_PLUGIN_BUILTIN \
239                                 -DSTATEDIR=\""$(statedir)"\" \
240                                 -DPLUGINDIR=\""$(build_plugindir)"\" \
241                                 -DSCRIPTDIR=\""$(build_scriptdir)"\" \
242                                 -DSTORAGEDIR=\""$(storagedir)\"" \
243                                 -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
244                                 -DCONFIGDIR=\""$(configdir)\"" \
245                                 -I$(builddir)/src
246
247 EXTRA_DIST = src/genbuiltin src/connman-dbus.conf src/connman-polkit.conf \
248                                 plugins/connman-nmcompat.conf \
249                                 $(service_files_sources) scripts/connman.in
250
251 if VPN
252 vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
253                                 $(builtin_vpn_cflags) \
254                                 -DCONNMAN_PLUGIN_BUILTIN \
255                                 -DVPN_STATEDIR=\""$(vpn_statedir)"\" \
256                                 -DPLUGINDIR=\""$(build_vpn_plugindir)"\" \
257                                 -DSCRIPTDIR=\""$(build_scriptdir)"\" \
258                                 -DSTORAGEDIR=\""$(storagedir)\"" \
259                                 -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
260                                 -DCONFIGDIR=\""$(configdir)\"" \
261                                 -I$(builddir)/vpn
262
263 endif
264
265 if XTABLES
266 AM_CFLAGS += @XTABLES_CFLAGS@
267 src_connmand_CFLAGS += @XTABLES_CFLAGS@
268 endif
269
270 if NFTABLES
271 AM_CFLAGS += @NFTABLES_CFLAGS@
272 src_connmand_CFLAGS += @NFTABLES_CFLAGS@
273 endif
274
275 EXTRA_DIST += vpn/vpn-dbus.conf vpn/vpn-polkit.conf
276
277 script_DATA =
278 script_PROGRAMS =
279 script_LTLIBRARIES =
280
281 include Makefile.plugins
282
283 if CLIENT
284 bin_PROGRAMS += client/connmanctl
285
286 client_connmanctl_SOURCES = client/dbus_helpers.h client/dbus_helpers.c \
287                         client/services.h client/services.c \
288                         client/commands.h client/commands.c \
289                         client/input.h client/input.c \
290                         client/agent.h client/agent.c \
291                         client/peers.h client/peers.c \
292                         client/vpnconnections.h client/vpnconnections.c \
293                         client/main.c
294
295 client_connmanctl_LDADD = gdbus/libgdbus-internal.la @DBUS_LIBS@ @GLIB_LIBS@ \
296                                 -lreadline -ldl
297 endif
298
299 noinst_PROGRAMS += unit/test-ippool
300
301 unit_test_ippool_SOURCES = $(backtrace_sources) src/log.c src/dbus.c \
302                                         src/error.c src/ippool.c unit/test-ippool.c
303 unit_test_ippool_LDADD = gdbus/libgdbus-internal.la \
304                                 @GLIB_LIBS@ @DBUS_LIBS@ -ldl
305
306 TESTS = unit/test-ippool
307
308 if WISPR
309 noinst_PROGRAMS += tools/wispr
310
311 tools_wispr_SOURCES = $(gweb_sources) tools/wispr.c
312 tools_wispr_LDADD = @GLIB_LIBS@ @GNUTLS_LIBS@ -lresolv
313 endif
314
315 if TOOLS
316 noinst_PROGRAMS += tools/supplicant-test \
317                         tools/dhcp-test tools/dhcp-server-test \
318                         tools/addr-test tools/web-test tools/resolv-test \
319                         tools/dbus-test tools/polkit-test \
320                         tools/tap-test tools/wpad-test \
321                         tools/stats-tool tools/private-network-test \
322                         tools/session-test \
323                         tools/dnsproxy-test tools/netlink-test
324
325 tools_supplicant_test_SOURCES = tools/supplicant-test.c \
326                         tools/supplicant-dbus.h tools/supplicant-dbus.c \
327                         tools/supplicant.h tools/supplicant.c
328 tools_supplicant_test_LDADD = gdbus/libgdbus-internal.la \
329                                 @GLIB_LIBS@ @DBUS_LIBS@
330
331 tools_web_test_SOURCES = $(gweb_sources) tools/web-test.c
332 tools_web_test_LDADD = @GLIB_LIBS@ @GNUTLS_LIBS@ -lresolv
333
334 tools_resolv_test_SOURCES = gweb/gresolv.h gweb/gresolv.c tools/resolv-test.c
335 tools_resolv_test_LDADD = @GLIB_LIBS@ -lresolv
336
337 tools_wpad_test_SOURCES = gweb/gresolv.h gweb/gresolv.c tools/wpad-test.c
338 tools_wpad_test_LDADD = @GLIB_LIBS@ -lresolv
339
340 tools_stats_tool_LDADD = @GLIB_LIBS@
341
342 tools_dhcp_test_SOURCES = $(gdhcp_sources) tools/dhcp-test.c
343 tools_dhcp_test_LDADD = @GLIB_LIBS@
344
345 tools_dhcp_server_test_SOURCES = $(gdhcp_sources) tools/dhcp-server-test.c
346 tools_dhcp_server_test_LDADD = @GLIB_LIBS@
347
348 tools_dbus_test_SOURCES = tools/dbus-test.c
349 tools_dbus_test_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
350
351 tools_polkit_test_LDADD = @DBUS_LIBS@
352
353 tools_private_network_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
354
355 tools_session_test_SOURCES = $(backtrace_sources) src/log.c src/dbus.c src/error.c \
356                 tools/session-test.c tools/session-utils.c tools/manager-api.c \
357                 tools/session-api.c tools/session-test.h
358 tools_session_test_LDADD = gdbus/libgdbus-internal.la \
359                                 @GLIB_LIBS@ @DBUS_LIBS@ -ldl
360
361 if XTABLES
362 noinst_PROGRAMS += tools/iptables-test tools/iptables-unit
363
364 tools_iptables_test_SOURCES = $(backtrace_sources) src/log.c src/iptables.c \
365                                 tools/iptables-test.c
366 tools_iptables_test_LDADD = @GLIB_LIBS@ @XTABLES_LIBS@ -ldl
367
368 tools_iptables_unit_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
369                 -DIPTABLES_SAVE=\""${IPTABLES_SAVE}"\"
370 tools_iptables_unit_SOURCES = $(backtrace_sources) src/log.c \
371                 src/iptables.c src/firewall-iptables.c src/nat.c \
372                 tools/iptables-unit.c
373 tools_iptables_unit_LDADD = gdbus/libgdbus-internal.la \
374                                 @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ -ldl
375 endif
376
377 tools_dnsproxy_test_SOURCES = tools/dnsproxy-test.c
378 tools_dnsproxy_test_LDADD = @GLIB_LIBS@
379
380 tools_netlink_test_SOURCES = $(shared_sources) tools/netlink-test.c
381 tools_netlink_test_LDADD = @GLIB_LIBS@
382
383 endif
384
385 test_scripts = test/get-state test/list-services \
386                 test/monitor-services test/test-clock \
387                 test/simple-agent test/show-introspection test/test-compat \
388                 test/test-manager test/test-connman test/monitor-connman \
389                 test/connect-provider test/remove-provider \
390                 test/test-counter test/set-ipv4-method test/set-ipv6-method \
391                 test/get-services test/get-proxy-autoconfig test/set-proxy \
392                 test/enable-tethering test/disable-tethering test/backtrace \
393                 test/test-session test/p2p-on-supplicant \
394                 test/test-new-supplicant test/service-move-before \
395                 test/set-global-timeservers test/get-global-timeservers \
396                 test/set-nameservers test/set-domains test/set-timeservers \
397                 test/set-clock
398
399 test_scripts += test/vpn-connect test/vpn-disconnect test/vpn-get \
400                 test/monitor-vpn test/vpn-property
401
402 if TEST
403 testdir = $(pkglibdir)/test
404 test_SCRIPTS = $(test_scripts)
405 endif
406
407 EXTRA_DIST += $(test_scripts)
408
409 EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
410                                 doc/coding-style.txt doc/wifi-p2p-overview.txt \
411                                 doc/vpn-agent-api.txt doc/peer-api.txt \
412                                 doc/ipconfig-api.txt doc/plugin-api.txt \
413                                 doc/manager-api.txt doc/agent-api.txt \
414                                 doc/service-api.txt doc/technology-api.txt \
415                                 doc/counter-api.txt doc/config-format.txt \
416                                 doc/clock-api.txt doc/session-api.txt \
417                                 doc/session-overview.txt doc/backtrace.txt \
418                                 doc/advanced-configuration.txt \
419                                 doc/vpn-config-format.txt \
420                                 doc/vpn-connection-api.txt \
421                                 doc/vpn-manager-api.txt doc/vpn-overview.txt \
422                                 doc/session-policy-format.txt \
423                                 doc/connmanctl.1.in doc/connman.conf.5.in \
424                                 doc/connman-service.config.5.in \
425                                 doc/connman-vpn.conf.5.in \
426                                 doc/connman-vpn-provider.config.5.in \
427                                 doc/connman.8.in doc/connman-vpn.8.in
428
429 EXTRA_DIST += src/main.conf \
430                 src/eduroam.config \
431                 scripts/connman_resolvconf.conf.in
432
433 MANUAL_PAGES += doc/connmanctl.1 doc/connman.conf.5 \
434                 doc/connman-service.config.5 doc/connman-vpn.conf.5 \
435                 doc/connman-vpn-provider.config.5 \
436                 doc/connman.8 doc/connman-vpn.8
437
438 nodist_man_MANS = $(MANUAL_PAGES)
439
440 pkgconfigdir = $(libdir)/pkgconfig
441
442 pkgconfig_DATA = connman.pc
443
444 DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles \
445                                 --enable-hh2serial-gps \
446                                 --enable-openconnect \
447                                 --enable-openvpn \
448                                 --enable-vpnc \
449                                 --enable-session-policy-local \
450                                 --enable-nmcompat \
451                                 --enable-polkit
452
453 DISTCLEANFILES = $(pkgconfig_DATA)
454
455 MAINTAINERCLEANFILES = Makefile.in \
456         aclocal.m4 configure config.h.in config.sub config.guess \
457         ltmain.sh depcomp compile missing install-sh mkinstalldirs test-driver
458
459
460 src/builtin.h: src/genbuiltin $(builtin_sources)
461         $(AM_V_at)$(MKDIR_P) $(dir $@)
462         $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
463
464 vpn/builtin.h: src/genbuiltin $(builtin_vpn_sources)
465         $(AM_V_at)$(MKDIR_P) $(dir $@)
466         $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_vpn_modules) > $@
467
468 src/connman.conf: src/connman-dbus.conf src/connman-polkit.conf
469 if POLKIT
470         $(AM_V_GEN)cp $(srcdir)/src/connman-polkit.conf $@
471 else
472         $(AM_V_GEN)cp $(srcdir)/src/connman-dbus.conf $@
473 endif
474
475 if VPN
476 vpn/connman-vpn-dbus.conf: vpn/vpn-dbus.conf vpn/vpn-polkit.conf
477 if POLKIT
478         $(AM_V_GEN)cp $(srcdir)/vpn/vpn-polkit.conf $@
479 else
480         $(AM_V_GEN)cp $(srcdir)/vpn/vpn-dbus.conf $@
481 endif
482 CLEANFILES += vpn/connman-vpn-dbus.conf
483 endif
484
485 if SELINUX
486 if VPN
487 EXTRA_DIST += connman-task.pp
488 CLEANFILES += connman-task.pp
489 endif
490
491 connman-task.pp: vpn/connman-task.te
492         make -f /usr/share/selinux/devel/Makefile
493 endif
494
495 EXTRA_DIST += vpn/connman-task.te
496
497 do_subst = $(AM_V_GEN)$(SED) \
498                 -e 's,[@]prefix[@],$(prefix),g' \
499                 -e 's,[@]sbindir[@],$(sbindir),g' \
500                 -e 's,[@]sysconfdir[@],$(sysconfdir),g' \
501                 -e 's,[@]storagedir[@],$(storagedir),g' \
502                 -e 's,[@]vpn_storagedir[@],$(vpn_storagedir),g' \
503                 -e 's,[@]localstatedir[@],$(localstatedir),g' \
504                 -e 's,[@]runstatedir[@],$(runstatedir),g'
505
506 %.1 : %.1.in
507         $(AM_V_at)$(MKDIR_P) $(dir $@)
508         $(do_subst) < $< > $@
509
510 %.5 : %.5.in
511         $(AM_V_at)$(MKDIR_P) $(dir $@)
512         $(do_subst) < $< > $@
513
514 %.8 : %.8.in
515         $(AM_V_at)$(MKDIR_P) $(dir $@)
516         $(do_subst) < $< > $@
517
518 %.service: %.service.in Makefile
519         $(AM_V_at)$(MKDIR_P) $(dir $@)
520         $(do_subst) < $< > $@
521
522 scripts/connman: scripts/connman.in Makefile
523         $(AM_V_at)$(MKDIR_P) $(dir $@)
524         $(do_subst) < $< > $@
525
526 scripts/connman_resolvconf.conf: scripts/connman_resolvconf.conf.in
527         $(AM_V_at)$(MKDIR_P) $(dir $@)
528         $(do_subst) < $< > $@
529
530 include/connman/version.h: include/version.h
531         $(AM_V_at)$(MKDIR_P) include/connman
532         $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
533
534 include/connman/%.h: $(abs_top_srcdir)/include/%.h
535         $(AM_V_at)$(MKDIR_P) include/connman
536         $(AM_V_GEN)$(LN_S) $< $@
537
538 clean-local:
539         @$(RM) -rf include/connman $(MANUAL_PAGES)