Convert to fully non-recursive build system
[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/device.h include/network.h include/inet.h
10
11 nodist_include_HEADERS = include/version.h
12
13 noinst_HEADERS = include/driver.h include/element.h include/property.h \
14                         include/rtnl.h include/wifi.h include/task.h \
15                         include/dbus.h include/rfkill.h include/option.h \
16                         include/resolver.h include/ipconfig.h \
17                         include/profile.h include/provider.h
18
19 local_headers = $(foreach file,$(include_HEADERS) $(nodist_include_HEADERS) \
20                         $(noinst_HEADERS), include/connman/$(notdir $(file)))
21
22
23 gdbus_sources = gdbus/gdbus.h gdbus/mainloop.c gdbus/object.c gdbus/watch.c
24
25 gatchat_sources = gatchat/gatchat.h gatchat/gatchat.c \
26                                 gatchat/gatresult.h gatchat/gatresult.c \
27                                 gatchat/gatsyntax.h gatchat/gatsyntax.c \
28                                 gatchat/ringbuffer.h gatchat/ringbuffer.c
29
30 if DATAFILES
31 dbusdir = @DBUS_DATADIR@
32
33 dbus_DATA = src/connman.conf
34 endif
35
36 plugin_LTLIBRARIES =
37
38 plugin_objects =
39
40 builtin_modules =
41 builtin_sources =
42 builtin_libadd =
43 builtin_cflags =
44
45 noinst_PROGRAMS =
46
47 sbin_PROGRAMS = src/connmand
48
49 src_connmand_SOURCES = $(gdbus_sources) $(gatchat_sources) $(builtin_sources) \
50                         src/main.c src/connman.h src/log.c src/selftest.c \
51                         src/error.c src/plugin.c src/task.c src/element.c \
52                         src/device.c src/network.c src/connection.c \
53                         src/manager.c src/profile.c src/service.c \
54                         src/agent.c src/notifier.c src/provider.c \
55                         src/security.c src/resolver.c src/ipconfig.c \
56                         src/ipv4.c src/storage.c src/rfkill.c src/rtnl.c \
57                         src/inet.c src/wifi.c src/dbus.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) @GLIB_LIBS@ @GTHREAD_LIBS@ \
66                                                 @DBUS_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 storagedir = $(localstatedir)/lib/connman
78
79 plugindir = $(libdir)/connman/plugins
80
81 scriptdir = $(libdir)/connman/scripts
82
83 AM_CFLAGS = @UDEV_CFLAGS@ @NETLINK_CFLAGS@ @DBUS_CFLAGS@ \
84                         @GLIB_CFLAGS@ @GTHREAD_CFLAGS@ $(builtin_cflags) \
85                                         -DCONNMAN_PLUGIN_BUILTIN \
86                                         -DSTATEDIR=\""$(statedir)"\" \
87                                         -DPLUGINDIR=\""$(plugindir)"\" \
88                                         -DSCRIPTDIR=\""$(scriptdir)"\" \
89                                         -DSTORAGEDIR=\""$(storagedir)\""
90
91 INCLUDES = -I$(top_builddir)/include -I$(top_builddir)/src \
92                                 -I$(srcdir)/gdbus -I$(srcdir)/gatchat
93
94 EXTRA_DIST = src/genbuiltin src/connman-dbus.conf src/connman-polkit.conf
95
96
97 script_DATA =
98 script_PROGRAMS =
99 script_LTLIBRARIES =
100
101 include Makefile.plugins
102
103 if CLIENT
104 noinst_PROGRAMS += client/cm
105
106 client_cm_SOURCES = client/main.c
107 client_cm_LDADD = @DBUS_LIBS@
108 endif
109
110 if TOOLS
111 noinst_PROGRAMS += tools/wifi-scan tools/addr-test tools/tap-test
112
113 tools_wifi_scan_LDADD = @GLIB_LIBS@ @NETLINK_LIBS@
114 endif
115
116 EXTRA_DIST += test/get-state test/list-profiles test/list-services \
117                 test/connect-service test/list-connections \
118                 test/select-connection test/list-devices test/enable-device \
119                 test/disable-device test/start-scanning test/list-networks \
120                 test/set-passphrase test/set-address test/test-profile \
121                 test/simple-agent test/show-introspection test/test-compat \
122                 test/test-manager test/test-connman test/monitor-connman \
123                 test/monitor-services test/debug-connman
124
125 EXTRA_DIST += doc/overview-api.txt doc/behavior-api.txt \
126                                 doc/ipconfig-api.txt doc/plugin-api.txt \
127                                 doc/manager-api.txt doc/agent-api.txt \
128                                 doc/profile-api.txt doc/service-api.txt \
129                                 doc/device-lowlevel-api.txt \
130                                 doc/network-lowlevel-api.txt \
131                                 doc/connection-lowlevel-api.txt
132
133 pkgconfigdir = $(libdir)/pkgconfig
134
135 pkgconfig_DATA = connman.pc
136
137 DISTCHECK_CONFIGURE_FLAGS = --disable-gtk-doc \
138                                 --disable-datafiles \
139                                 --enable-loopback \
140                                 --enable-ethernet \
141                                 --enable-wifi \
142                                 --enable-bluetooth \
143                                 --enable-ofono \
144                                 --enable-udhcp \
145                                 --enable-dhclient \
146                                 --enable-resolvconf \
147                                 --enable-dnsproxy \
148                                 --enable-novatel \
149                                 --enable-huawei \
150                                 --enable-hso \
151                                 --enable-mbm \
152                                 --enable-udev \
153                                 --enable-polkit \
154                                 --enable-client \
155                                 --enable-tools
156
157 DISTCLEANFILES = $(pkgconfig_DATA)
158
159 MAINTAINERCLEANFILES = Makefile.in \
160         aclocal.m4 configure config.h.in config.sub config.guess \
161         ltmain.sh depcomp compile missing install-sh mkinstalldirs
162
163
164 src/plugin.$(OBJEXT): src/builtin.h
165
166 src/builtin.h: src/genbuiltin $(builtin_sources)
167         $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
168
169 src/connman.exp: $(src_connmand_OBJECTS)
170         $(AM_V_GEN)nm -B $^ | awk '{ print $$3 }' | sort -u | grep -E -e '^connman_' > $@
171
172 src/connman.ver: src/connman.exp
173         $(AM_V_at)echo "{ global:" > $@
174         $(AM_V_GEN)cat $< | sed -e "s/\(.*\)/\1;/" >> $@
175         $(AM_V_at)echo "local: *; };" >> $@
176
177 src/connman.conf: src/connman-dbus.conf src/connman-polkit.conf
178 if POLKIT
179         $(AM_V_GEN)cp $(srcdir)/src/connman-polkit.conf $@
180 else
181         $(AM_V_GEN)cp $(srcdir)/src/connman-dbus.conf $@
182 endif
183
184 $(src_connmand_OBJECTS) $(plugin_objects): $(local_headers)
185
186 include/connman/version.h: include/version.h
187         $(AM_V_at)if [ ! -e include/connman ] ; then mkdir include/connman ; fi
188         $(AM_V_GEN)$(LN_S) $(abs_top_builddir)/$< $@
189
190 include/connman/%.h: include/%.h
191         $(AM_V_at)if [ ! -e include/connman ] ; then mkdir include/connman ; fi
192         $(AM_V_GEN)$(LN_S) $(abs_top_srcdir)/$< $@
193
194 clean-local: include/connman
195         @rm -r $<