[connman] Added Tizen Wi-Fi Mesh
[platform/upstream/connman.git] / Makefile.am
index beefc0f..94c6e9d 100644 (file)
@@ -1,15 +1,21 @@
 
 AM_MAKEFLAGS = --no-print-directory
 
+noinst_LTLIBRARIES =
+
 includedir = @includedir@/connman
 
-include_HEADERS = include/types.h include/log.h include/plugin.h \
+include_HEADERS = include/log.h include/plugin.h \
                        include/notifier.h include/service.h \
                        include/resolver.h include/ipconfig.h \
                        include/device.h include/network.h include/inet.h \
                        include/storage.h include/provision.h \
                        include/session.h include/ipaddress.h include/agent.h \
-                       include/inotify.h
+                       include/inotify.h include/peer.h include/machine.h
+
+if TIZEN_EXT_WIFI_MESH
+include_HEADERS += include/mesh.h include/mesh-netlink.h
+endif
 
 nodist_include_HEADERS = include/version.h
 
@@ -23,7 +29,10 @@ local_headers = $(foreach file,$(include_HEADERS) $(nodist_include_HEADERS) \
                        $(noinst_HEADERS), include/connman/$(notdir $(file)))
 
 
-gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/watch.c \
+noinst_LTLIBRARIES += gdbus/libgdbus-internal.la
+
+gdbus_libgdbus_internal_la_SOURCES = gdbus/gdbus.h \
+                               gdbus/mainloop.c gdbus/watch.c \
                                gdbus/object.c gdbus/client.c gdbus/polkit.c
 
 gdhcp_sources = gdhcp/gdhcp.h gdhcp/common.h gdhcp/common.c gdhcp/client.c \
@@ -37,6 +46,9 @@ else
 gweb_sources += gweb/giognutls.h gweb/gionotls.c
 endif
 
+shared_sources = src/shared/util.h src/shared/util.c \
+               src/shared/netlink.h src/shared/netlink.c
+
 if DATAFILES
 
 if NMCOMPAT
@@ -51,16 +63,28 @@ if VPN
 dbusconf_DATA += vpn/connman-vpn-dbus.conf
 dbusservicedir = @DBUS_DATADIR@
 dbusservice_DATA = vpn/net.connman.vpn.service
-endif
 
 if SYSTEMD
 systemdunitdir = @SYSTEMD_UNITDIR@
+systemdunit_DATA = src/connman.service vpn/connman-vpn.service
+
+endif
+
+service_files_sources = src/connman.service.in src/net.connman.service.in \
+                               vpn/net.connman.vpn.service.in vpn/connman-vpn.service.in
+service_files = src/connman.service src/net.connman.service \
+                               vpn/net.connman.vpn.service vpn/connman-vpn.service
 
+else
+
+if SYSTEMD
+systemdunitdir = @SYSTEMD_UNITDIR@
 systemdunit_DATA = src/connman.service
 
-if VPN
-systemdunit_DATA += vpn/connman-vpn.service
 endif
+
+service_files_sources = src/connman.service.in src/net.connman.service.in
+service_files = src/connman.service src/net.connman.service
 endif
 endif
 
@@ -74,15 +98,24 @@ builtin_libadd =
 builtin_cflags =
 
 noinst_PROGRAMS =
+if TIZEN_EXT
+bin_PROGRAMS = src/connmand
+else
+bin_PROGRAMS =
+endif
 
 unit_objects =
 
 MANUAL_PAGES =
 
-sbin_PROGRAMS = src/connmand
+if TIZEN_EXT
+sbin_PROGRAMS =
+else
+sbin_PROGRAMS = src/connmand src/connmand-wait-online
+endif
 
-src_connmand_SOURCES = $(gdbus_sources) $(gdhcp_sources) $(gweb_sources) \
-                       $(builtin_sources) src/connman.ver \
+src_connmand_SOURCES = $(gdhcp_sources) $(gweb_sources) \
+                       $(builtin_sources) $(shared_sources) src/connman.ver \
                        src/main.c src/connman.h src/log.c \
                        src/error.c src/plugin.c src/task.c \
                        src/device.c src/network.c src/connection.c \
@@ -95,16 +128,41 @@ src_connmand_SOURCES = $(gdbus_sources) $(gdhcp_sources) $(gweb_sources) \
                        src/storage.c src/dbus.c src/config.c \
                        src/technology.c src/counter.c src/ntp.c \
                        src/session.c src/tethering.c src/wpad.c src/wispr.c \
-                       src/stats.c src/iptables.c src/dnsproxy.c src/6to4.c \
+                       src/stats.c src/dnsproxy.c src/6to4.c \
                        src/ippool.c src/bridge.c src/nat.c src/ipaddress.c \
-                       src/inotify.c src/firewall.c
+                       src/inotify.c src/ipv6pd.c src/peer.c \
+                       src/peer_service.c src/machine.c src/util.c
 
-src_connmand_LDADD = $(builtin_libadd) @GLIB_LIBS@ @DBUS_LIBS@ \
-                               @XTABLES_LIBS@ @GNUTLS_LIBS@ -lresolv -ldl -lrt
+if TIZEN_EXT_WIFI_MESH
+src_connmand_SOURCES += src/mesh.c src/mesh-netlink.c
+endif
 
-src_connmand_LDFLAGS = -Wl,--export-dynamic \
+src_connmand_LDADD = gdbus/libgdbus-internal.la $(builtin_libadd) \
+                       @GLIB_LIBS@ @DBUS_LIBS@ @GNUTLS_LIBS@ @LIBSYSTEMD_LIBS@ \
+                       -lresolv -ldl -lrt
+
+if TIZEN_EXT_WIFI_MESH
+src_connmand_LDADD += -lnl -lnl-genl
+endif
+
+src_connmand_LDFLAGS = -Wl,--export-dynamic -pie \
                                -Wl,--version-script=$(srcdir)/src/connman.ver
 
+src_connmand_wait_online_SOURCES = src/connmand-wait-online.c
+
+src_connmand_wait_online_LDADD = gdbus/libgdbus-internal.la \
+                       @GLIB_LIBS@ @DBUS_LIBS@
+
+if XTABLES
+src_connmand_SOURCES += src/iptables.c src/firewall-iptables.c
+src_connmand_LDADD += @XTABLES_LIBS@
+endif
+
+if NFTABLES
+src_connmand_SOURCES += src/firewall-nftables.c
+src_connmand_LDADD +=  @NFTABLES_LIBS@
+endif
+
 if VPN
 vpn_plugin_LTLIBRARIES =
 
@@ -115,34 +173,62 @@ builtin_vpn_sources =
 builtin_vpn_libadd =
 builtin_vpn_cflags =
 
+if TIZEN_EXT
+bin_PROGRAMS += vpn/connman-vpnd
+else
 sbin_PROGRAMS += vpn/connman-vpnd
+endif
 
-vpn_connman_vpnd_SOURCES = $(gdbus_sources) $(builtin_vpn_sources) \
+vpn_connman_vpnd_SOURCES = $(gdhcp_sources) $(builtin_vpn_sources) \
                        $(gweb_sources) vpn/vpn.ver vpn/main.c vpn/vpn.h \
-                       src/log.c src/error.c src/plugin.c src/task.c \
                        vpn/vpn-manager.c vpn/vpn-provider.c \
                        vpn/vpn-provider.h vpn/vpn-rtnl.h \
                        vpn/vpn-ipconfig.c src/inet.c vpn/vpn-rtnl.c \
-                       src/dbus.c src/storage.c src/ipaddress.c src/agent.c \
-                       vpn/vpn-agent.c vpn/vpn-agent.h src/inotify.c \
+                       src/log.c src/error.c src/plugin.c src/task.c \
+                       src/device.c src/network.c src/connection.c \
+                       src/manager.c src/service.c \
+                       src/clock.c src/timezone.c src/agent-connman.c \
+                       src/agent.c src/notifier.c src/provider.c \
+                       src/resolver.c src/ipconfig.c src/detect.c \
+                       src/dhcp.c src/dhcpv6.c src/rtnl.c src/proxy.c \
+                       src/utsname.c src/timeserver.c src/rfkill.c \
+                       src/storage.c src/dbus.c src/config.c \
+                       src/technology.c src/counter.c src/ntp.c \
+                       src/session.c src/tethering.c src/wpad.c src/wispr.c \
+                       src/stats.c src/iptables.c src/dnsproxy.c src/6to4.c \
+                       src/ippool.c src/bridge.c src/nat.c src/ipaddress.c \
+                       src/inotify.c src/firewall-iptables.c src/ipv6pd.c src/peer.c \
+                       src/peer_service.c src/machine.c src/util.c \
+                       vpn/vpn-agent.c vpn/vpn-agent.h \
                        vpn/vpn-config.c
 
-vpn_connman_vpnd_LDADD = $(builtin_vpn_libadd) @GLIB_LIBS@ @DBUS_LIBS@ \
-                               @GNUTLS_LIBS@ -lresolv -ldl
+if TIZEN_EXT_WIFI_MESH
+vpn_connman_vpnd_SOURCES += src/mesh.c src/mesh-netlink.c
+endif
+
+vpn_connman_vpnd_LDADD = gdbus/libgdbus-internal.la $(builtin_vpn_libadd) \
+                               @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ @GNUTLS_LIBS@ \
+                               @LIBSYSTEMD_LIBS@ \
+                               -lresolv -ldl
+
+if TIZEN_EXT_WIFI_MESH
+vpn_connman_vpnd_LDADD += -lnl -lnl-genl
+endif
 
 vpn_connman_vpnd_LDFLAGS = -Wl,--export-dynamic \
                                -Wl,--version-script=$(srcdir)/vpn/vpn.ver
 endif
 
-BUILT_SOURCES = $(local_headers) src/builtin.h
+BUILT_SOURCES = $(local_headers) src/builtin.h $(service_files) scripts/connman
 
 if VPN
 BUILT_SOURCES += vpn/builtin.h
 endif
 
-CLEANFILES = src/connman.conf $(BUILT_SOURCES)
+CLEANFILES = src/connman.conf $(BUILT_SOURCES) $(service_files)
 
-statedir = $(localstatedir)/run/connman
+statedir = $(runstatedir)/connman
+vpn_statedir = $(runstatedir)/connman-vpn
 
 if VPN
 vpn_plugindir = $(libdir)/connman/plugins-vpn
@@ -171,15 +257,17 @@ build_vpn_plugindir = $(vpn_plugindir)
 endif
 endif
 
-AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
+AM_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @LIBSYSTEMD_CFLAGS@\
                                @GNUTLS_CFLAGS@ $(builtin_cflags) \
                                -DCONNMAN_PLUGIN_BUILTIN \
                                -DSTATEDIR=\""$(statedir)"\" \
+                               -DVPN_STATEDIR=\""$(vpn_statedir)"\" \
                                -DPLUGINDIR=\""$(build_plugindir)"\" \
                                -DSCRIPTDIR=\""$(build_scriptdir)"\" \
                                -DSTORAGEDIR=\""$(storagedir)\"" \
                                -DVPN_STORAGEDIR=\""$(vpn_storagedir)\"" \
-                               -DCONFIGDIR=\""$(configdir)\""
+                               -DCONFIGDIR=\""$(configdir)\"" \
+                               -fPIE
 
 if VPN
 AM_CPPFLAGS = -I$(builddir)/include -I$(srcdir)/gdbus
@@ -187,7 +275,7 @@ else
 AM_CPPFLAGS = -I$(builddir)/include -I$(builddir)/src -I$(srcdir)/gdbus
 endif
 
-src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
+src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
                                @GNUTLS_CFLAGS@ $(builtin_cflags) \
                                -DCONNMAN_PLUGIN_BUILTIN \
                                -DSTATEDIR=\""$(statedir)"\" \
@@ -199,13 +287,14 @@ src_connmand_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
                                -I$(builddir)/src
 
 EXTRA_DIST = src/genbuiltin src/connman-dbus.conf src/connman-polkit.conf \
-                                               plugins/connman-nmcompat.conf
+                               plugins/connman-nmcompat.conf \
+                               $(service_files_sources) scripts/connman.in
 
 if VPN
-vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
+vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
                                $(builtin_vpn_cflags) \
                                -DCONNMAN_PLUGIN_BUILTIN \
-                               -DSTATEDIR=\""$(statedir)"\" \
+                               -DVPN_STATEDIR=\""$(vpn_statedir)"\" \
                                -DPLUGINDIR=\""$(build_vpn_plugindir)"\" \
                                -DSCRIPTDIR=\""$(build_scriptdir)"\" \
                                -DSTORAGEDIR=\""$(storagedir)\"" \
@@ -215,6 +304,16 @@ vpn_connman_vpnd_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ \
 
 endif
 
+if XTABLES
+AM_CFLAGS += @XTABLES_CFLAGS@
+src_connmand_CFLAGS += @XTABLES_CFLAGS@
+endif
+
+if NFTABLES
+AM_CFLAGS += @NFTABLES_CFLAGS@
+src_connmand_CFLAGS += @NFTABLES_CFLAGS@
+endif
+
 EXTRA_DIST += vpn/vpn-dbus.conf vpn/vpn-polkit.conf
 
 script_DATA =
@@ -224,35 +323,33 @@ script_LTLIBRARIES =
 include Makefile.plugins
 
 if CLIENT
-noinst_PROGRAMS += client/connmanctl
-
-MANUAL_PAGES += doc/connmanctl.1
+bin_PROGRAMS += client/connmanctl
 
-client_connmanctl_SOURCES =  $(gdbus_sources) \
-                       client/dbus_helpers.h client/dbus_helpers.c \
+client_connmanctl_SOURCES = client/dbus_helpers.h client/dbus_helpers.c \
                        client/services.h client/services.c \
                        client/commands.h client/commands.c \
                        client/input.h client/input.c \
+                       client/agent.h client/agent.c \
+                       client/peers.h client/peers.c \
+                       client/vpnconnections.h client/vpnconnections.c \
                        client/main.c
 
-client_connmanctl_LDADD = @DBUS_LIBS@ @GLIB_LIBS@ -lreadline -ldl
+if TIZEN_EXT_WIFI_MESH
+client_connmanctl_SOURCES += client/mesh.c client/mesh.h
 endif
 
-noinst_PROGRAMS += unit/test-pbkdf2-sha1 unit/test-prf-sha1 unit/test-ippool
-
-unit_test_pbkdf2_sha1_SOURCES = unit/test-pbkdf2-sha1.c \
-                               src/shared/sha1.h src/shared/sha1.c
-unit_test_pbkdf2_sha1_LDADD = @GLIB_LIBS@
+client_connmanctl_LDADD = gdbus/libgdbus-internal.la @DBUS_LIBS@ @GLIB_LIBS@ \
+                               -lreadline -ldl -lncurses
+endif
 
-unit_test_prf_sha1_SOURCES = unit/test-prf-sha1.c \
-                               src/shared/sha1.h src/shared/sha1.c
-unit_test_prf_sha1_LDADD = @GLIB_LIBS@
+noinst_PROGRAMS += unit/test-ippool
 
-unit_test_ippool_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
-                src/ippool.c unit/test-ippool.c
-unit_test_ippool_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
+unit_test_ippool_SOURCES = src/log.c src/dbus.c src/error.c \
+                                       src/ippool.c unit/test-ippool.c
+unit_test_ippool_LDADD = gdbus/libgdbus-internal.la \
+                               @GLIB_LIBS@ @DBUS_LIBS@ -ldl
 
-TESTS = unit/test-pbkdf2-sha1 unit/test-prf-sha1 unit/test-ippool
+TESTS = unit/test-ippool
 
 if WISPR
 noinst_PROGRAMS += tools/wispr
@@ -266,15 +363,16 @@ noinst_PROGRAMS += tools/supplicant-test \
                        tools/dhcp-test tools/dhcp-server-test \
                        tools/addr-test tools/web-test tools/resolv-test \
                        tools/dbus-test tools/polkit-test \
-                       tools/iptables-test tools/tap-test tools/wpad-test \
+                       tools/tap-test tools/wpad-test \
                        tools/stats-tool tools/private-network-test \
-                       tools/session-test tools/iptables-unit \
-                       tools/dnsproxy-test
+                       tools/session-test \
+                       tools/dnsproxy-test tools/netlink-test
 
-tools_supplicant_test_SOURCES = $(gdbus_sources) tools/supplicant-test.c \
+tools_supplicant_test_SOURCES = tools/supplicant-test.c \
                        tools/supplicant-dbus.h tools/supplicant-dbus.c \
                        tools/supplicant.h tools/supplicant.c
-tools_supplicant_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+tools_supplicant_test_LDADD = gdbus/libgdbus-internal.la \
+                               @GLIB_LIBS@ @DBUS_LIBS@
 
 tools_web_test_SOURCES = $(gweb_sources) tools/web-test.c
 tools_web_test_LDADD = @GLIB_LIBS@ @GNUTLS_LIBS@ -lresolv
@@ -293,30 +391,41 @@ tools_dhcp_test_LDADD = @GLIB_LIBS@
 tools_dhcp_server_test_SOURCES = $(gdhcp_sources) tools/dhcp-server-test.c
 tools_dhcp_server_test_LDADD = @GLIB_LIBS@
 
-tools_dbus_test_SOURCES = $(gdbus_sources) tools/dbus-test.c
-tools_dbus_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+tools_dbus_test_SOURCES = tools/dbus-test.c
+tools_dbus_test_LDADD = gdbus/libgdbus-internal.la @GLIB_LIBS@ @DBUS_LIBS@
 
 tools_polkit_test_LDADD = @DBUS_LIBS@
 
-tools_iptables_test_SOURCES = src/log.c src/iptables.c tools/iptables-test.c
-tools_iptables_test_LDADD = @GLIB_LIBS@ @XTABLES_LIBS@ -ldl
-
 tools_private_network_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
 
-tools_session_test_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
+tools_session_test_SOURCES = src/log.c src/dbus.c src/error.c \
                tools/session-test.c tools/session-utils.c tools/manager-api.c \
                tools/session-api.c tools/session-test.h
-tools_session_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ -ldl
+tools_session_test_LDADD = gdbus/libgdbus-internal.la \
+                               @GLIB_LIBS@ @DBUS_LIBS@ -ldl
+
+if XTABLES
+noinst_PROGRAMS += tools/iptables-test tools/iptables-unit
+
+tools_iptables_test_SOURCES = $(backtrace_sources) src/log.c src/iptables.c \
+                               tools/iptables-test.c
+tools_iptables_test_LDADD = @GLIB_LIBS@ @XTABLES_LIBS@ -ldl
 
 tools_iptables_unit_CFLAGS = @DBUS_CFLAGS@ @GLIB_CFLAGS@ @XTABLES_CFLAGS@ \
                -DIPTABLES_SAVE=\""${IPTABLES_SAVE}"\"
-tools_iptables_unit_SOURCES = $(gdbus_sources) src/log.c \
-                src/iptables.c src/firewall.c src/nat.c tools/iptables-unit.c
-tools_iptables_unit_LDADD = @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ -ldl
+tools_iptables_unit_SOURCES = src/log.c \
+               src/iptables.c src/firewall-iptables.c src/nat.c \
+               tools/iptables-unit.c
+tools_iptables_unit_LDADD = gdbus/libgdbus-internal.la \
+                               @GLIB_LIBS@ @DBUS_LIBS@ @XTABLES_LIBS@ -ldl
+endif
 
 tools_dnsproxy_test_SOURCES = tools/dnsproxy-test.c
 tools_dnsproxy_test_LDADD = @GLIB_LIBS@
 
+tools_netlink_test_SOURCES = $(shared_sources) tools/netlink-test.c
+tools_netlink_test_LDADD = @GLIB_LIBS@
+
 endif
 
 test_scripts = test/get-state test/list-services \
@@ -327,10 +436,11 @@ test_scripts = test/get-state test/list-services \
                test/test-counter test/set-ipv4-method test/set-ipv6-method \
                test/get-services test/get-proxy-autoconfig test/set-proxy \
                test/enable-tethering test/disable-tethering test/backtrace \
-               test/test-session test/test-supplicant \
+               test/test-session test/p2p-on-supplicant \
                test/test-new-supplicant test/service-move-before \
                test/set-global-timeservers test/get-global-timeservers \
-               test/set-nameservers test/set-domains test/set-timeservers
+               test/set-nameservers test/set-domains test/set-timeservers \
+               test/set-clock
 
 test_scripts += test/vpn-connect test/vpn-disconnect test/vpn-get \
                test/monitor-vpn test/vpn-property
@@ -343,6 +453,8 @@ endif
 EXTRA_DIST += $(test_scripts)
 
 EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
+                               doc/coding-style.txt doc/wifi-p2p-overview.txt \
+                               doc/vpn-agent-api.txt doc/peer-api.txt \
                                doc/ipconfig-api.txt doc/plugin-api.txt \
                                doc/manager-api.txt doc/agent-api.txt \
                                doc/service-api.txt doc/technology-api.txt \
@@ -350,24 +462,35 @@ EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
                                doc/clock-api.txt doc/session-api.txt \
                                doc/session-overview.txt doc/backtrace.txt \
                                doc/advanced-configuration.txt \
+                               doc/vpn-config-format.txt \
                                doc/vpn-connection-api.txt \
-                               doc/vpn-manager-api.txt doc/vpn-overview.txt
+                               doc/vpn-manager-api.txt doc/vpn-overview.txt \
+                               doc/session-policy-format.txt \
+                               doc/connmanctl.1.in doc/connman.conf.5.in \
+                               doc/connman-service.config.5.in \
+                               doc/connman-vpn.conf.5.in \
+                               doc/connman-vpn-provider.config.5.in \
+                               doc/connman.8.in doc/connman-vpn.8.in
 
-EXTRA_DIST += src/main.conf
+EXTRA_DIST += src/main.conf \
+               src/eduroam.config
 
-MANUAL_PAGES += doc/connman.8 doc/connman.conf.5
+#MANUAL_PAGES += doc/connmanctl.1 doc/connman.conf.5 \
+#              doc/connman-service.config.5 doc/connman-vpn.conf.5 \
+#              doc/connman-vpn-provider.config.5 \
+#              doc/connman.8 doc/connman-vpn.8
 
-noinst_dist_man_MANS = $(MANUAL_PAGES)
+nodist_man_MANS = $(MANUAL_PAGES)
 
 pkgconfigdir = $(libdir)/pkgconfig
 
 pkgconfig_DATA = connman.pc
 
-DISTCHECK_CONFIGURE_FLAGS = --disable-gtk-doc \
-                               --disable-datafiles \
+DISTCHECK_CONFIGURE_FLAGS = --disable-datafiles \
                                --enable-hh2serial-gps \
                                --enable-openconnect \
                                --enable-openvpn \
+                               --enable-ipsec \
                                --enable-vpnc \
                                --enable-session-policy-local \
                                --enable-nmcompat \
@@ -377,13 +500,15 @@ DISTCLEANFILES = $(pkgconfig_DATA)
 
 MAINTAINERCLEANFILES = Makefile.in \
        aclocal.m4 configure config.h.in config.sub config.guess \
-       ltmain.sh depcomp compile missing install-sh mkinstalldirs
+       ltmain.sh depcomp compile missing install-sh mkinstalldirs test-driver
 
 
 src/builtin.h: src/genbuiltin $(builtin_sources)
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
        $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
 
 vpn/builtin.h: src/genbuiltin $(builtin_vpn_sources)
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
        $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_vpn_modules) > $@
 
 src/connman.conf: src/connman-dbus.conf src/connman-polkit.conf
@@ -400,6 +525,7 @@ if POLKIT
 else
        $(AM_V_GEN)cp $(srcdir)/vpn/vpn-dbus.conf $@
 endif
+CLEANFILES += vpn/connman-vpn-dbus.conf
 endif
 
 if SELINUX
@@ -414,6 +540,34 @@ endif
 
 EXTRA_DIST += vpn/connman-task.te
 
+do_subst = $(AM_V_GEN)$(SED) \
+               -e 's,[@]prefix[@],$(prefix),g' \
+               -e 's,[@]sbindir[@],$(sbindir),g' \
+               -e 's,[@]sysconfdir[@],$(sysconfdir),g' \
+               -e 's,[@]storagedir[@],$(storagedir),g' \
+               -e 's,[@]vpn_storagedir[@],$(vpn_storagedir),g' \
+               -e 's,[@]localstatedir[@],$(localstatedir),g'
+
+%.1 : %.1.in
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(do_subst) < $< > $@
+
+%.5 : %.5.in
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(do_subst) < $< > $@
+
+%.8 : %.8.in
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(do_subst) < $< > $@
+
+%.service: %.service.in Makefile
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(do_subst) < $< > $@
+
+scripts/connman: scripts/connman.in Makefile
+       $(AM_V_at)$(MKDIR_P) $(dir $@)
+       $(do_subst) < $< > $@
+
 include/connman/version.h: include/version.h
        $(AM_V_at)$(MKDIR_P) include/connman
        $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
@@ -423,4 +577,4 @@ include/connman/%.h: $(abs_top_srcdir)/include/%.h
        $(AM_V_GEN)$(LN_S) $< $@
 
 clean-local:
-       @$(RM) -rf include/connman
+       @$(RM) -rf include/connman $(MANUAL_PAGES)