Add some extra autoconf/automake magic for iptables library
[framework/connectivity/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/security.h include/notifier.h \
8                         include/storage.h include/service.h \
9                         include/resolver.h include/ipconfig.h \
10                         include/device.h include/network.h include/inet.h
11
12 nodist_include_HEADERS = include/version.h
13
14 noinst_HEADERS = include/driver.h include/element.h include/property.h \
15                         include/rtnl.h include/wifi.h include/task.h \
16                         include/dbus.h include/rfkill.h include/option.h \
17                         include/profile.h include/provider.h include/dhcp.h \
18                         include/utsname.h include/timeserver.h \
19                         include/location.h
20
21 local_headers = $(foreach file,$(include_HEADERS) $(nodist_include_HEADERS) \
22                         $(noinst_HEADERS), include/connman/$(notdir $(file)))
23
24
25 gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/object.c gdbus/watch.c
26
27 if DATAFILES
28 dbusdir = @DBUS_DATADIR@
29
30 dbus_DATA = src/connman.conf
31 endif
32
33 plugin_LTLIBRARIES =
34
35 plugin_objects =
36
37 builtin_modules =
38 builtin_sources =
39 builtin_libadd =
40 builtin_cflags =
41
42 noinst_PROGRAMS =
43
44 sbin_PROGRAMS = src/connmand
45
46 src_connmand_SOURCES = $(gdbus_sources) $(builtin_sources) \
47                         src/main.c src/connman.h src/log.c src/selftest.c \
48                         src/error.c src/plugin.c src/task.c src/element.c \
49                         src/device.c src/network.c src/connection.c \
50                         src/manager.c src/profile.c src/service.c \
51                         src/agent.c src/notifier.c src/provider.c \
52                         src/security.c src/resolver.c src/ipconfig.c \
53                         src/ipv4.c src/dhcp.c src/rtnl.c src/inet.c \
54                         src/utsname.c src/timeserver.c src/rfkill.c \
55                         src/wifi.c src/storage.c src/dbus.c src/config.c \
56                         src/technology.c src/counter.c src/location.c \
57                         src/session.c src/tethering.c
58
59 if UDEV
60 src_connmand_SOURCES += src/udev.c
61 else
62 src_connmand_SOURCES += src/udev-compat.c
63 endif
64
65 src_connmand_LDADD = $(builtin_libadd) \
66                         @GLIB_LIBS@ @DBUS_LIBS@ @CAPNG_LIBS@ @UDEV_LIBS@ -ldl
67
68 src_connmand_LDFLAGS = -Wl,--export-dynamic -Wl,--version-script=src/connman.ver
69
70 src_connmand_DEPENDENCIES = src/connman.ver
71
72 CLEANFILES = src/connman.ver src/connman.exp src/connman.conf \
73                                                 src/builtin.h $(local_headers)
74
75 statedir = $(localstatedir)/run/connman
76
77 plugindir = $(libdir)/connman/plugins
78
79 scriptdir = $(libdir)/connman/scripts
80
81 storagedir = $(localstatedir)/lib/connman
82
83 if MAINTAINER_MODE
84 build_plugindir = $(abs_top_srcdir)/plugins/.libs
85 build_scriptdir = $(abs_top_srcdir)/scripts
86 else
87 build_plugindir = $(plugindir)
88 build_scriptdir = $(scriptdir)
89 endif
90
91 AM_CFLAGS = @UDEV_CFLAGS@ @IPTC_CFLAGS@ @NETLINK_CFLAGS@ @CAPNG_CFLAGS@ \
92                         @DBUS_CFLAGS@ @GLIB_CFLAGS@ $(builtin_cflags) \
93                                 -DCONNMAN_PLUGIN_BUILTIN \
94                                 -DSTATEDIR=\""$(statedir)"\" \
95                                 -DPLUGINDIR=\""$(build_plugindir)"\" \
96                                 -DSCRIPTDIR=\""$(build_scriptdir)"\" \
97                                 -DSTORAGEDIR=\""$(storagedir)\""
98
99 INCLUDES = -I$(builddir)/include -I$(builddir)/src -I$(srcdir)/gdbus
100
101 EXTRA_DIST = src/genbuiltin src/connman-dbus.conf src/connman-polkit.conf
102
103
104 script_DATA =
105 script_PROGRAMS =
106 script_LTLIBRARIES =
107
108 include Makefile.plugins
109
110 if CLIENT
111 noinst_PROGRAMS += client/cm
112
113 client_cm_SOURCES = client/main.c
114 client_cm_LDADD = @DBUS_LIBS@
115 endif
116
117 if TOOLS
118 noinst_PROGRAMS += tools/wifi-scan tools/supplicant-test tools/dbus-test \
119                         tools/addr-test tools/tap-test tools/resolv-test \
120                                         tools/polkit-test tools/portal-test \
121                                                 tools/iptables-test
122
123 tools_wifi_scan_LDADD = @GLIB_LIBS@ @NETLINK_LIBS@
124
125 tools_supplicant_test_SOURCES = $(gdbus_sources) tools/supplicant-test.c \
126                         tools/supplicant-dbus.h tools/supplicant-dbus.c \
127                         tools/supplicant.h tools/supplicant.c
128 tools_supplicant_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
129
130 tools_dbus_test_SOURCES = $(gdbus_sources) tools/dbus-test.c
131 tools_dbus_test_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
132
133 tools_resolv_test_LDADD = -lresolv
134
135 tools_polkit_test_LDADD = @DBUS_LIBS@
136
137 tools_portal_test_LDADD = @GLIB_LIBS@
138
139 tools_iptables_test_LDADD = @IPTC_LIBS@ -lip4tc -lxtables
140 endif
141
142 test_scripts = test/get-state test/list-profiles test/list-services \
143                 test/connect-service test/monitor-services \
144                 test/list-devices test/enable-device test/disable-device \
145                 test/start-scanning test/list-networks \
146                 test/set-passphrase test/set-address test/test-profile \
147                 test/simple-agent test/show-introspection test/test-compat \
148                 test/test-manager test/test-connman test/monitor-connman \
149                 test/connect-vpn test/disconnect-vpn test/list-providers \
150                 test/monitor-manager test/test-counter test/set-ip-method \
151                 test/set-nameservers test/set-domains test/find-service \
152                 test/get-services \
153                 test/enable-tethering test/disable-tethering
154
155 if TEST
156 testdir = $(pkglibdir)/test
157 test_SCRIPTS = $(test_scripts)
158 endif
159
160 EXTRA_DIST += $(test_scripts)
161
162 EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
163                                 doc/ipconfig-api.txt doc/plugin-api.txt \
164                                 doc/manager-api.txt doc/agent-api.txt \
165                                 doc/profile-api.txt doc/service-api.txt \
166                                 doc/technology-api.txt doc/counter-api.txt \
167                                 doc/device-lowlevel-api.txt \
168                                 doc/network-lowlevel-api.txt \
169                                 doc/advanced-configuration.txt \
170                                 doc/config-format.txt
171
172 pkgconfigdir = $(libdir)/pkgconfig
173
174 pkgconfig_DATA = connman.pc
175
176 DISTCHECK_CONFIGURE_FLAGS = --disable-gtk-doc \
177                                 --disable-datafiles \
178                                 --enable-loopback \
179                                 --enable-ethernet \
180                                 --enable-wifi \
181                                 --enable-bluetooth \
182                                 --enable-ofono \
183                                 --enable-udhcp \
184                                 --enable-dhclient \
185                                 --enable-resolvconf \
186                                 --enable-dnsproxy \
187                                 --enable-google \
188                                 --enable-meego \
189                                 --enable-udev \
190                                 --enable-client \
191                                 --enable-portal \
192                                 --enable-hh2serial-gps \
193                                 --enable-ntpd \
194                                 --enable-tools
195
196 DISTCLEANFILES = $(pkgconfig_DATA)
197
198 MAINTAINERCLEANFILES = Makefile.in \
199         aclocal.m4 configure config.h.in config.sub config.guess \
200         ltmain.sh depcomp compile missing install-sh mkinstalldirs
201
202
203 src/plugin.$(OBJEXT): src/builtin.h
204
205 src/builtin.h: src/genbuiltin $(builtin_sources)
206         $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
207
208 src/connman.exp: $(src_connmand_OBJECTS)
209         $(AM_V_GEN)$(NM) $^ | $(AWK) '{ print $$3 }' | sort -u | \
210                                 $(EGREP) -e '^connman_' -e '^g_dbus_' > $@
211
212 src/connman.ver: src/connman.exp
213         $(AM_V_at)echo "{ global:" > $@
214         $(AM_V_GEN)$(SED) -e "s/\(.*\)/\1;/" $< >> $@
215         $(AM_V_at)echo "local: *; };" >> $@
216
217 src/connman.conf: src/connman-dbus.conf src/connman-polkit.conf
218 if POLKIT
219         $(AM_V_GEN)cp $(srcdir)/src/connman-polkit.conf $@
220 else
221         $(AM_V_GEN)cp $(srcdir)/src/connman-dbus.conf $@
222 endif
223
224 $(src_connmand_OBJECTS) $(plugin_objects): $(local_headers)
225
226 include/connman/version.h: include/version.h
227         $(AM_V_at)$(MKDIR_P) include/connman
228         $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
229
230 include/connman/%.h: include/%.h
231         $(AM_V_at)$(MKDIR_P) include/connman
232         $(AM_V_GEN)$(LN_S) $(abs_top_srcdir)/$< $@
233
234 clean-local:
235         @$(RM) -rf include/connman