Add infrastructure for built-in plugins
[connman] / plugins / Makefile.am
index 443b2c1..7c9d054 100644 (file)
@@ -3,10 +3,11 @@ plugindir = $(libdir)/connman/plugins
 
 plugin_LTLIBRARIES =
 
+builtin_modules =
+builtin_sources =
+
 if LOOPBACK
 plugin_LTLIBRARIES += loopback.la
-
-loopback_la_SOURCES = loopback.c
 endif
 
 if ETHERNET
@@ -22,12 +23,6 @@ wifi_la_SOURCES = wifi.c inet.h inet.c supplicant.h supplicant.c
 wifi_la_LIBADD = @GDBUS_LIBS@
 endif
 
-if WIMAX
-plugin_LTLIBRARIES += wimax.la
-
-wimax_la_SOURCES = wimax.c
-endif
-
 if BLUETOOTH
 plugin_LTLIBRARIES += bluetooth.la
 
@@ -35,6 +30,12 @@ bluetooth_la_SOURCES = bluetooth.c inet.h inet.c
 bluetooth_la_LIBADD = @GDBUS_LIBS@
 endif
 
+if MODEMMGR
+plugin_LTLIBRARIES += modemmgr.la
+
+modemmgr_la_LIBADD = @GDBUS_LIBS@
+endif
+
 if NOVATEL
 plugin_LTLIBRARIES += novatel.la
 
@@ -72,27 +73,22 @@ endif
 if PPPD
 plugin_LTLIBRARIES += pppd.la
 
-pppd_la_SOURCES = pppd.c
 pppd_la_CFLAGS = $(AM_CFLAGS) -DPPPD=\"@PPPD@\"
 endif
 
 if RESOLVCONF
 plugin_LTLIBRARIES += resolvconf.la
 
-resolvconf_la_SOURCES = resolvconf.c
 resolvconf_la_CFLAGS = $(AM_CFLAGS) -DRESOLVCONF=\"@RESOLVCONF@\"
 endif
 
 if DNSPROXY
 plugin_LTLIBRARIES += dnsproxy.la
-
-dnsproxy_la_SOURCES = dnsproxy.c
 endif
 
 if POLKIT
 plugin_LTLIBRARIES += polkit.la
 
-polkit_la_SOURCES = polkit.c
 polkit_la_LIBADD = @POLKIT_LIBS@ @GLIB_LIBS@
 polkit_la_CFLAGS = $(AM_CFLAGS) @POLKIT_CFLAGS@
 
@@ -105,17 +101,30 @@ endif
 
 if IOSPM
 plugin_LTLIBRARIES += iospm.la
+endif
+
+if IWMXSDK
+plugin_LTLIBRARIES += iwmxsdk.la
 
-iospm_la_SOURCES = iospm.c
-iospm_la_CFLAGS = $(AM_CFLAGS)
+iwmxsdk_la_SOURCES = iwmxsdk.c inet.h inet.c
+iwmxsdk_la_LIBADD = @IWMXSDK_LIBS@ @GLIB_LIBS@
+iwmxsdk_la_CFLAGS = $(AM_CFLAGS) @IWMXSDK_CFLAGS@
 endif
 
 if FAKE
 plugin_LTLIBRARIES += fake.la
-
-fake_la_SOURCES = fake.c
 endif
 
+noinst_LTLIBRARIES = libbuiltin.la
+
+libbuiltin_la_SOURCES = $(builtin_sources)
+libbuiltin_la_LDFLAGS =
+libbuiltin_la_CFLAGS = $(AM_CFLAGS) -DCONNMAN_PLUGIN_BUILTIN
+
+BUILT_SOURCES = builtin.h
+
+nodist_libbuiltin_la_SOURCES = $(BUILT_SOURCES)
+
 AM_LDFLAGS = -no-undefined -module -avoid-version
 
 statedir = $(localstatedir)/run/connman
@@ -130,11 +139,20 @@ AM_CFLAGS = -fvisibility=hidden @GLIB_CFLAGS@ @GDBUS_CFLAGS@
 
 INCLUDES = -I$(top_builddir)/include
 
-CLEANFILES = connman.policy
+CLEANFILES = $(BUILT_SOURCES) connman.policy
 
 EXTRA_DIST = polkit.policy
 
 MAINTAINERCLEANFILES = Makefile.in
 
+builtin.h:
+       echo "" > $@
+       list='$(builtin_modules)'; for i in $$list; \
+         do echo "extern struct connman_plugin_desc __connman_builtin_$$i;" > $@; done
+       echo "static struct connman_plugin_desc *__connman_builtin[] = {" >> $@
+       list='$(builtin_modules)'; for i in $$list; \
+         do echo "&__connman_builtin_$$i," >> $@; done
+       echo "NULL };" >> $@
+
 connman.policy: polkit.policy
        cp $< $@