Use shared library for builtin plugins
[connman] / plugins / Makefile.am
1
2 plugindir = $(libdir)/connman/plugins
3
4 plugin_LTLIBRARIES =
5
6 builtin_modules =
7 builtin_sources =
8 builtin_cflags =
9 builtin_libadd =
10
11 if LOOPBACK
12 if LOOPBACK_BUILTIN
13 builtin_modules += loopback
14 builtin_sources += loopback.c
15 else
16 plugin_LTLIBRARIES += loopback.la
17 endif
18 endif
19
20 if ETHERNET
21 if ETHERNET_BUILTIN
22 builtin_modules += ethernet
23 builtin_sources += ethernet.c
24 else
25 plugin_LTLIBRARIES += ethernet.la
26 ethernet_la_SOURCES = ethernet.c
27 endif
28 endif
29
30 if WIFI
31 if WIFI_BUILTIN
32 builtin_modules += wifi
33 builtin_sources += wifi.c supplicant.h supplicant.c
34 else
35 plugin_LTLIBRARIES += wifi.la
36 wifi_la_SOURCES = wifi.c supplicant.h supplicant.c
37 wifi_la_LIBADD = @GDBUS_LIBS@
38 endif
39 endif
40
41 if BLUETOOTH
42 if BLUETOOTH_BUILTIN
43 builtin_modules += bluetooth
44 builtin_sources += bluetooth.c
45 else
46 plugin_LTLIBRARIES += bluetooth.la
47 bluetooth_la_SOURCES = bluetooth.c
48 bluetooth_la_LIBADD = @GDBUS_LIBS@
49 endif
50 endif
51
52 if OFONO
53 if OFONO_BUILTIN
54 builtin_modules += ofono
55 builtin_sources += ofono.c
56 else
57 plugin_LTLIBRARIES += ofono.la
58 bluetooth_la_LIBADD = @GDBUS_LIBS@
59 endif
60 endif
61
62 if MODEMMGR
63 plugin_LTLIBRARIES += modemmgr.la
64 modemmgr_la_LIBADD = @GDBUS_LIBS@
65 endif
66
67 if NOVATEL
68 plugin_LTLIBRARIES += novatel.la
69 novatel_la_SOURCES = novatel.c modem.h modem.c
70 endif
71
72 if HUAWEI
73 plugin_LTLIBRARIES += huawei.la
74 huawei_la_SOURCES = huawei.c modem.h modem.c
75 endif
76
77 if HSO
78 if HSO_BUILTIN
79 builtin_modules += hso
80 builtin_sources += hso.c modem.h modem.c
81 builtin_libadd += @GATCHAT_LIBS@
82 else
83 plugin_LTLIBRARIES += hso.la
84 hso_la_SOURCES = hso.c modem.h modem.c
85 hso_la_LIBADD = @GATCHAT_LIBS@
86 endif
87 endif
88
89 if UDHCP
90 if UDHCP_BUILTIN
91 builtin_modules += udhcp
92 builtin_sources += udhcp.c task.h task.c
93 builtin_cflags += -DUDHCPC=\"@UDHCPC@\"
94 else
95 plugin_LTLIBRARIES += udhcp.la
96 udhcp_la_SOURCES = udhcp.c task.h task.c
97 udhcp_la_CFLAGS = $(AM_CFLAGS) -DUDHCPC=\"@UDHCPC@\" \
98                 -DSTATEDIR=\""$(statedir)"\" -DSCRIPTDIR=\""$(scriptdir)"\"
99 endif
100 endif
101
102 if DHCLIENT
103 if DHCLIENT_BUILTIN
104 builtin_modules += dhclient
105 builtin_sources += dhclient.c
106 builtin_cflags += -DDHCLIENT=\"@DHCLIENT@\"
107 else
108 plugin_LTLIBRARIES += dhclient.la
109 dhclient_la_SOURCES = dhclient.c
110 dhclient_la_CFLAGS = $(AM_CFLAGS) -DDHCLIENT=\"@DHCLIENT@\" \
111                 -DSTATEDIR=\""$(statedir)"\" -DSCRIPTDIR=\""$(scriptdir)"\"
112 endif
113 endif
114
115 if PPPD
116 plugin_LTLIBRARIES += pppd.la
117 pppd_la_CFLAGS = $(AM_CFLAGS) -DPPPD=\"@PPPD@\"
118 endif
119
120 if RESOLVCONF
121 if RESOLVCONF_BUILTIN
122 builtin_modules += resolvconf
123 builtin_sources += resolvconf.c
124 builtin_cflags += -DRESOLVCONF=\"@RESOLVCONF@\"
125 else
126 plugin_LTLIBRARIES += resolvconf.la
127 resolvconf_la_CFLAGS = $(AM_CFLAGS) -DRESOLVCONF=\"@RESOLVCONF@\"
128 endif
129 endif
130
131 if DNSPROXY
132 if DNSPROXY_BUILTIN
133 builtin_modules += dnsproxy
134 builtin_sources += dnsproxy.c
135 else
136 plugin_LTLIBRARIES += dnsproxy.la
137 endif
138 endif
139
140 if POLKIT
141 plugin_LTLIBRARIES += polkit.la
142 polkit_la_LIBADD = @POLKIT_LIBS@ @GLIB_LIBS@
143 polkit_la_CFLAGS = $(AM_CFLAGS) @POLKIT_CFLAGS@
144
145 if DATAFILES
146 policydir = @POLKIT_DATADIR@
147
148 policy_DATA = connman.policy
149 endif
150 endif
151
152 if IWMX
153 plugin_LTLIBRARIES += iwmxsdk.la
154 iwmxsdk_la_SOURCES = iwmx.h iwmx.c iwmxsdk.c
155 iwmxsdk_la_LIBADD = @IWMXSDK_LIBS@ @GLIB_LIBS@
156 iwmxsdk_la_CFLAGS = $(AM_CFLAGS) @IWMXSDK_CFLAGS@
157 endif
158
159 if IOSPM
160 plugin_LTLIBRARIES += iospm.la
161 endif
162
163 if FAKE
164 plugin_LTLIBRARIES += fake.la
165 endif
166
167 noinst_LTLIBRARIES = libbuiltin.la
168
169 libbuiltin_la_SOURCES = $(builtin_sources)
170 libbuiltin_la_LIBADD = $(builtin_libadd)
171 libbuiltin_la_CFLAGS = $(AM_CFLAGS) \
172                 $(builtin_cflags) -DCONNMAN_PLUGIN_BUILTIN \
173                 -DSTATEDIR=\""$(statedir)"\" -DSCRIPTDIR=\""$(scriptdir)"\"
174
175 BUILT_SOURCES = builtin.h
176
177 nodist_libbuiltin_la_SOURCES = $(BUILT_SOURCES)
178
179 AM_LDFLAGS = -no-undefined -module -avoid-version
180
181 statedir = $(localstatedir)/run/connman
182
183 if MAINTAINER_MODE
184 scriptdir = $(abs_top_srcdir)/scripts
185 else
186 scriptdir = $(libdir)/connman/scripts
187 endif
188
189 AM_CFLAGS = -fvisibility=hidden @GLIB_CFLAGS@ \
190                                         @GDBUS_CFLAGS@ @GATCHAT_CFLAGS@
191
192 INCLUDES = -I$(top_builddir)/include
193
194 CLEANFILES = $(BUILT_SOURCES) connman.policy
195
196 EXTRA_DIST = polkit.policy
197
198 MAINTAINERCLEANFILES = Makefile.in
199
200 builtin.h:
201         echo "" > $@
202         list='$(builtin_modules)'; for i in $$list; \
203           do echo "extern struct connman_plugin_desc __connman_builtin_$$i;" >> $@; done
204         echo "" >> $@
205         echo "static struct connman_plugin_desc *__connman_builtin[] = {" >> $@
206         list='$(builtin_modules)'; for i in $$list; \
207           do echo "&__connman_builtin_$$i," >> $@; done
208         echo "NULL };" >> $@
209
210 connman.policy: polkit.policy
211         cp $< $@