
plugin_cflags = -fvisibility=hidden -I$(srcdir)/gdbus \
					@DBUS_CFLAGS@ @GLIB_CFLAGS@
plugin_ldflags = -no-undefined -module -avoid-version

if LOOPBACK
builtin_modules += loopback
builtin_sources += plugins/loopback.c
endif

if ETHERNET
builtin_modules += ethernet
builtin_sources += plugins/ethernet.c
endif

if GADGET
builtin_modules += gadget
builtin_sources += plugins/gadget.c
endif

gsupplicant_sources = gsupplicant/gsupplicant.h gsupplicant/dbus.h \
			gsupplicant/supplicant.c gsupplicant/dbus.c

if WIFI
builtin_modules += wifi
builtin_sources += plugins/wifi.c $(gsupplicant_sources)
endif

if SLEEP
plugin_LTLIBRARIES += plugins/sleepplugin.la
plugin_objects += $(plugins_sleepplugin_la_OBJECTS)
plugins_sleepplugin_la_SOURCES = plugins/sleepplugin.c
plugins_sleepplugin_la_CFLAGS = $(plugin_cflags)
plugins_sleepplugin_la_LDFLAGS = $(plugin_ldflags)
endif

if BLUETOOTH
builtin_modules += bluetooth_legacy
builtin_sources += plugins/bluetooth_legacy.c
builtin_modules += bluetooth
builtin_sources += plugins/bluetooth.c
endif

if HH2SERIAL_GPS
if HH2SERIAL_GPS_BUILTIN
builtin_modules += hh2serial_gps
builtin_sources += plugins/hh2serial-gps.c
else
plugin_LTLIBRARIES += plugins/hh2serial-gps.la
plugin_objects += $(plugins_hh2serial_gps_la_OBJECTS)
plugins_hh2serial_gps_la_CFLAGS = $(plugin_cflags)
plugins_hh2serial_gps_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if OFONO
builtin_modules += ofono
builtin_sources += plugins/mcc.h plugins/ofono.c
endif

if DUNDEE
builtin_modules += dundee
builtin_sources += plugins/dundee.c
endif

if VPN
builtin_modules += vpn
builtin_sources += plugins/vpn.c

if OPENCONNECT
if OPENCONNECT_BUILTIN
builtin_vpn_modules += openconnect
builtin_vpn_sources += vpn/plugins/openconnect.c
builtin_vpn_source = vpn/plugins/vpn.c vpn/plugins/vpn.h
builtin_vpn_cflags += -DOPENCONNECT=\"@OPENCONNECT@\"
else
vpn_plugin_LTLIBRARIES += vpn/plugins/openconnect.la
vpn_plugin_objects += $(plugins_openconnect_la_OBJECTS)
vpn_plugins_openconnect_la_SOURCES = vpn/plugins/vpn.h vpn/plugins/vpn.c \
						vpn/plugins/openconnect.c
vpn_plugins_openconnect_la_CFLAGS = $(plugin_cflags) \
					-DOPENCONNECT=\"@OPENCONNECT@\" \
					-DVPN_STATEDIR=\""$(vpn_statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
vpn_plugins_openconnect_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if OPENVPN
if OPENVPN_BUILTIN
builtin_vpn_modules += openvpn
builtin_vpn_sources += vpn/plugins/openvpn.c
builtin_vpn_source = vpn/plugins/vpn.c vpn/plugins/vpn.h
builtin_vpn_cflags += -DOPENVPN=\"@OPENVPN@\"
else
vpn_plugin_LTLIBRARIES += vpn/plugins/openvpn.la
vpn_plugin_objects += $(plugins_openvpn_la_OBJECTS)
vpn_plugins_openvpn_la_SOURCES = vpn/plugins/vpn.h vpn/plugins/vpn.c \
						vpn/plugins/openvpn.c
vpn_plugins_openvpn_la_CFLAGS = $(plugin_cflags) -DOPENVPN=\"@OPENVPN@\" \
					-DVPN_STATEDIR=\""$(vpn_statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
vpn_plugins_openvpn_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if VPNC
if VPNC_BUILTIN
builtin_vpn_modules += vpnc
builtin_vpn_sources += vpn/plugins/vpnc.c
builtin_vpn_source = vpn/plugins/vpn.c vpn/plugins/vpn.h
builtin_vpn_cflags += -DVPNC=\"@VPNC@\"
else
vpn_plugin_LTLIBRARIES += vpn/plugins/vpnc.la
vpn_plugin_objects += $(plugins_vpnc_la_OBJECTS)
vpn_plugins_vpnc_la_SOURCES = vpn/plugins/vpn.h vpn/plugins/vpn.c \
						vpn/plugins/vpnc.c
vpn_plugins_vpnc_la_CFLAGS = $(plugin_cflags) -DVPNC=\"@VPNC@\" \
					-DVPN_STATEDIR=\""$(vpn_statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
vpn_plugins_vpnc_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if L2TP
if L2TP_BUILTIN
builtin_vpn_modules += l2tp
builtin_vpn_sources += vpn/plugins/l2tp.c
builtin_vpn_source = vpn/plugins/vpn.c vpn/plugins/vpn.h
builtin_vpn_cflags += -DL2TP=\"@L2TP@\"
else
vpn_plugin_LTLIBRARIES += vpn/plugins/l2tp.la
vpn_plugin_objects += $(plugins_l2tp_la_OBJECTS)
vpn_plugins_l2tp_la_SOURCES = vpn/plugins/vpn.h vpn/plugins/vpn.c \
						vpn/plugins/l2tp.c
vpn_plugins_l2tp_la_CFLAGS = $(plugin_cflags) -DL2TP=\"@L2TP@\" \
					-DVPN_STATEDIR=\""$(vpn_statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
vpn_plugins_l2tp_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if PPTP
if PPTP_BUILTIN
builtin_vpn_modules += pptp
builtin_vpn_sources += vpn/plugins/pptp.c
builtin_vpn_source = vpn/plugins/vpn.c vpn/plugins/vpn.h
builtin_vpn_cflags += -DPPPD=\"@PPPD@\" -DPPTP=\"@PPTP@\"
else
vpn_plugin_LTLIBRARIES += vpn/plugins/pptp.la
vpn_plugin_objects += $(plugins_pptp_la_OBJECTS)
vpn_plugins_pptp_la_SOURCES = vpn/plugins/vpn.h vpn/plugins/vpn.c \
						vpn/plugins/pptp.c
vpn_plugins_pptp_la_CFLAGS = $(plugin_cflags) -DPPPD=\"@PPPD@\" \
					-DPPTP=\"@PPTP@\" \
					-DVPN_STATEDIR=\""$(vpn_statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
vpn_plugins_pptp_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if PPTP
script_LTLIBRARIES += scripts/libppp-plugin.la
scripts_libppp_plugin_la_LDFLAGS = $(plugin_ldflags)
scripts_libppp_plugin_la_LIBADD = @DBUS_LIBS@
else
if L2TP
script_LTLIBRARIES += scripts/libppp-plugin.la
scripts_libppp_plugin_la_LDFLAGS = $(plugin_ldflags)
scripts_libppp_plugin_la_LIBADD = @DBUS_LIBS@
endif
endif

if VPN
builtin_vpn_sources += $(builtin_vpn_source)
endif
endif

if PACRUNNER
builtin_modules += pacrunner
builtin_sources += plugins/pacrunner.c
endif

if POLKIT
builtin_modules += polkit
builtin_sources += plugins/polkit.c

if DATAFILES
policydir = @POLKIT_DATADIR@

policy_DATA = plugins/net.connman.policy

if VPN
policy_DATA += vpn/net.connman.vpn.policy
endif
endif
endif

if IOSPM
plugin_LTLIBRARIES += plugins/iospm.la
plugin_objects += $(plugins_iospm_la_OBJECTS)
plugins_iospm_la_CFLAGS = $(plugin_cflags)
plugins_iospm_la_LDFLAGS = $(plugin_ldflags)
endif

if OPENCONNECT
script_PROGRAMS += scripts/openconnect-script

scripts_openconnect_script_LDADD = @DBUS_LIBS@
else
if VPNC
script_PROGRAMS += scripts/openconnect-script

scripts_openconnect_script_LDADD = @DBUS_LIBS@
endif
endif

if OPENVPN
script_PROGRAMS += scripts/openvpn-script

scripts_openvpn_script_LDADD = @DBUS_LIBS@
endif

if NMCOMPAT
builtin_modules += nmcompat
builtin_sources += plugins/nmcompat.c
endif

if TIST
if TIST_BUILTIN
builtin_modules += tist
builtin_sources += plugins/tist.c
else
plugin_LTLIBRARIES += plugins/tist.la
plugin_objects += $(plugins_tist_la_OBJECTS)
plugins_tist_la_CFLAGS = $(plugin_cflags)
plugins_tist_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if SESSION_POLICY_LOCAL
if SESSION_POLICY_LOCAL_BUILTIN
builtin_modules += session_policy_local
builtin_sources += plugins/session_policy_local.c
else
plugin_LTLIBRARIES += plugins/session_policy_local.la
plugin_objects += $(plugins_session_policy_local_la_OBJECTS)
plugins_session_policy_local_la_CFLAGS = $(plugin_cflags) \
				-DSTORAGEDIR=\""$(storagedir)\""
plugins_session_policy_local_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if NEARD
builtin_modules += neard
builtin_sources += plugins/neard.c
endif

EXTRA_DIST += plugins/polkit.policy

plugins/net.connman.policy: plugins/polkit.policy
if POLKIT
	$(AM_V_GEN)cp $< $@
endif

EXTRA_DIST += vpn/vpn-polkit.policy

if VPN
vpn/net.connman.vpn.policy: vpn/vpn-polkit.policy
if POLKIT
	$(AM_V_GEN)cp $< $@
endif
endif
