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


if LOOPBACK
if LOOPBACK_BUILTIN
builtin_modules += loopback
builtin_sources += plugins/loopback.c
else
plugin_LTLIBRARIES += plugins/loopback.la
plugin_objects += $(plugins_loopback_la_OBJECTS)
plugins_loopback_la_CFLAGS = $(plugin_cflags)
plugins_loopback_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if ETHERNET
if ETHERNET_BUILTIN
builtin_modules += ethernet
builtin_sources += plugins/ethernet.c
else
plugin_LTLIBRARIES += plugins/ethernet.la
plugin_objects += $(plugins_ethernet_la_OBJECTS)
plugins_ethernet_la_CFLAGS = $(plugin_cflags)
plugins_ethernet_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if NEWWIFI
if NEWWIFI_BUILTIN
builtin_modules += newwifi
builtin_sources += plugins/newwifi.c
else
plugin_LTLIBRARIES += plugins/newwifi.la
plugin_objects += $(plugins_newwifi_la_OBJECTS)
plugins_newwifi_la_SOURCES = plugins/newwifi.c
plugins_newwifi_la_CFLAGS = $(plugin_cflags) -DSCRIPTDIR=\""$(build_scriptdir)"\"
plugins_newwifi_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if NSS
if NSS_BUILTIN
builtin_modules += nss
builtin_sources += plugins/nss.c
else
plugin_LTLIBRARIES += plugins/nss.la
plugin_objects += $(plugins_nss_la_OBJECTS)
plugins_nss_la_SOURCES = plugins/nss.c
plugins_nss_la_CFLAGS = $(plugin_cflags) -DSCRIPTDIR=\""$(build_scriptdir)"\"
plugins_nss_la_LDFLAGS = $(plugin_ldflags)
endif
endif


if BLUETOOTH
if BLUETOOTH_BUILTIN
builtin_modules += bluetooth
builtin_sources += plugins/bluetooth.c
else
plugin_LTLIBRARIES += plugins/bluetooth.la
plugin_objects += $(plugins_bluetooth_la_OBJECTS)
plugins_bluetooth_la_CFLAGS = $(plugin_cflags)
plugins_bluetooth_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if MODEMMGR
scripts/@PROVIDERDB@: $(ROOT)/usr/share/mobile-broadband-provider-info/serviceproviders.xml \
	scripts/convert-serviceproviders.xsl
	xsltproc --nonet --output $@ scripts/convert-serviceproviders.xsl $< 
if MODEMMGR_BUILTIN
builtin_modules += modemmgr
builtin_sources += plugins/modemmgr.c plugins/mobile_provider.c \
		   plugins/mobile_provider.h
builtin_cflags += -DPROVIDERDB=\"$(build_scriptdir)/@PROVIDERDB@\"
else
plugin_LTLIBRARIES += plugins/modemmgr.la
plugins_modemmgr_la_SOURCES = plugins/modemmgr.c plugins/mobile_provider.c
plugins_modemmgr_la_CFLAGS = $(plugin_cflags) \
			     -DPROVIDERDB=\"$(build_scriptdir)/@PROVIDERDB@\"
plugins_modemmgr_la_LDFLAGS = $(plugin_ldflags)
endif
script_DATA += scripts/@PROVIDERDB@
noinst_PROGRAMS += tools/providerdb_test
tools_providerdb_test_CFLAGS = -Wall -Werror -fvisibility=hidden @GLIB_CFLAGS@
tools_providerdb_test_LDADD = plugins/mobile_provider.o @GLIB_LIBS@
script_PROGRAMS += scripts/set_apn_helper
scripts_set_apn_helper_LDADD = @DBUS_LIBS@
if TOOLS
test_PROGRAMS = tools/browsedb
tools_browsedb_LDADD = plugins/mobile_provider.o @GLIB_LIBS@
endif
endif

if DHCPCD
if DHCPCD_BUILTIN
builtin_modules += dhcpcd
builtin_sources += plugins/dhcpcd.c
builtin_cflags += -DDHCPCD=\"@DHCPCD@\"
else
plugin_LTLIBRARIES += plugins/dhcpcd.la
plugin_objects += $(plugins_dhcpcd_la_OBJECTS)
plugins_dhcpcd_la_CFLAGS = $(plugin_cflags) -DDHCPCD=\"@DHCPCD@\" \
					-DSTATEDIR=\""$(statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
plugins_dhcpcd_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if BOOTSTAT
if BOOTSTAT_BUILTIN
builtin_modules += bootstat
builtin_sources += plugins/bootstat.c
builtin_cflags +=
builtin_libadd += -lbootstat
else
plugin_LTLIBRARIES += plugins/bootstat.la
plugin_objects += $(plugins_bootstat_la_OBJECTS)
plugins_bootstat_la_CFLAGS = $(plugin_cflags)
plugins_bootstat_la_LIBADD = -lbootstat
plugins_bootstat_la_LDFLAGS = $(plugin_ldflags) -lbootstat
endif
endif

if CROSMETRICS
if CROSMETRICS_BUILTIN
builtin_modules += crosmetrics
builtin_sources += plugins/crosmetrics.c
builtin_cflags +=
builtin_libadd += -lmetrics
else
plugin_LTLIBRARIES += plugins/crosmetrics.la
plugin_objects += $(plugins_crosmetrics_la_OBJECTS)
plugins_crosmetrics_la_CFLAGS = $(plugin_cflags)
plugins_crosmetrics_la_LIBADD = -lmetrics
plugins_crosmetrics_la_LDFLAGS = $(plugin_ldflags) -lmetrics
endif
endif

if OPENVPN
if OPENVPN_BUILTIN
builtin_modules += openvpn
builtin_sources += plugins/openvpn.c
builtin_cflags += -DOPENVPN=\"@OPENVPN@\"
else
plugin_LTLIBRARIES += plugins/openvpn.la
plugin_objects += $(plugins_openvpn_la_OBJECTS)
plugins_openvpn_la_SOURCES = plugins/vpn.h plugins/vpn.c plugins/openvpn.c
plugins_openvpn_la_CFLAGS = $(plugin_cflags) -DOPENVPN=\"@OPENVPN@\" \
					-DSTATEDIR=\""$(statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
plugins_openvpn_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if L2TPIPSEC
if L2TPIPSEC_BUILTIN
builtin_modules += l2tpipsec
builtin_sources += plugins/l2tpipsec.c
builtin_cflags += -DL2TPIPSEC=\"@L2TPIPSEC@\"
else
plugin_LTLIBRARIES += plugins/l2tpipsec.la
plugin_objects += $(plugins_l2tpipsec_la_OBJECTS)
plugins_l2tpipsec_la_SOURCES = plugins/vpn.h plugins/vpn.c plugins/l2tipsec.c
plugins_l2tpipsec_la_CFLAGS = $(plugin_cflags) -DL2TPIPSEC=\"@L2TPIPSEC@\" \
					-DSTATEDIR=\""$(statedir)"\" \
					-DSCRIPTDIR=\""$(build_scriptdir)"\"
plugins_l2tpipsec_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if L2TPIPSEC_BUILTIN
builtin_sources += plugins/vpn.h plugins/vpn.c
else
if OPENVPN_BUILTIN
builtin_sources += plugins/vpn.h plugins/vpn.c
endif
endif

if PORTAL_CHECK
if PORTAL_CHECK_BUILTIN
builtin_modules += portal_check
builtin_sources += plugins/portal_check.c
builtin_cflags +=
builtin_libadd += -lcurl
else
plugin_LTLIBRARIES += plugins/portal_check.la
plugin_objects += $(plugins_portal_check_la_OBJECTS)
plugins_portal_check_la_CFLAGS = $(plugin_cflags)
plugins_portal_check_la_LIBADD = -lcurl
plugins_portal_check_la_LDFLAGS = $(plugin_ldflags) -lcurl
endif
endif

if PPPD
if PPPD_BUILTIN
builtin_modules += pppd
builtin_sources += plugins/pppd.c
builtin_cflags += -DPPPD=\"@PPPD@\"
else
plugin_LTLIBRARIES += plugins/pppd.la
plugin_objects += $(plugins_pppd_la_OBJECTS)
plugins_pppd_la_CFLAGS = $(plugin_cflags) -DPPPD=\"@PPPD@\"
plugins_pppd_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if RESOLVCONF
if RESOLVCONF_BUILTIN
builtin_modules += resolvconf
builtin_sources += plugins/resolvconf.c
builtin_cflags += -DRESOLVCONF=\"@RESOLVCONF@\"
else
plugin_LTLIBRARIES += plugins/resolvconf.la
plugin_objects += $(plugins_resolvconf_la_OBJECTS)
plugins_resolvconf_la_CFLAGS = $(plugin_cflags) -DRESOLVCONF=\"@RESOLVCONF@\"
plugins_resolvconf_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if DNSPROXY
if DNSPROXY_BUILTIN
builtin_modules += dnsproxy
builtin_sources += plugins/dnsproxy.c
else
plugin_LTLIBRARIES += plugins/dnsproxy.la
plugin_objects += $(plugins_dnsproxy_la_OBJECTS)
plugins_dnsproxy_la_CFLAGS = $(plugin_cflags)
plugins_dnsproxy_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if RESOLVFILES
if RESOLVFILES_BUILTIN
builtin_modules += resolvfiles
builtin_sources += plugins/resolvfiles.c
else
plugin_LTLIBRARIES += plugins/resolvfiles.la
plugin_objects += $(plugins_resolvfiles_la_OBJECTS)
plugins_resolvfiles_la_CFLAGS = $(plugin_cflags)
plugins_resolvfiles_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if POLKIT
if POLKIT_BUILTIN
builtin_modules += polkit
builtin_sources += plugins/polkit.c
builtin_libadd += @POLKIT_LIBS@
builtin_cflags += @POLKIT_CFLAGS@
else
plugin_LTLIBRARIES += plugins/polkit.la
plugin_objects += $(plugins_polkit_la_OBJECTS)
plugins_polkit_la_CFLAGS = $(plugin_cflags) @POLKIT_CFLAGS@
plugins_polkit_la_LIBADD = @POLKIT_LIBS@ @GLIB_LIBS@
plugins_polkit_la_LDFLAGS = $(plugin_ldflags)
endif

if DATAFILES
policydir = @POLKIT_DATADIR@

policy_DATA = plugins/flimflam.policy
endif
endif


if IWMX
plugin_LTLIBRARIES += plugins/iwmxsdk.la
plugin_objects += $(plugins_iwmxsdk_la_OBJECTS)
plugins_iwmxsdk_la_SOURCES = plugins/iwmx.h plugins/iwmx.c plugins/iwmxsdk.c
plugins_iwmxsdk_la_CFLAGS = $(plugin_cflags) @IWMXSDK_CFLAGS@
plugins_iwmxsdk_la_LIBADD = @IWMXSDK_LIBS@ @GLIB_LIBS@
plugins_iwmxsdk_la_LDFLAGS = $(plugin_ldflags)
endif

if FAKE
plugin_LTLIBRARIES += plugins/fake.la
plugin_objects += $(plugins_fake_la_OBJECTS)
plugins_fake_la_CFLAGS = $(plugin_cflags)
plugins_fake_la_LDFLAGS = $(plugin_ldflags)
endif

if ROT47
if ROT47_BUILTIN
builtin_modules += crypto_rot47
builtin_sources += plugins/crypto_rot47.c
else
plugin_LTLIBRARIES += plugins/crypto_rot47.la
plugin_objects += $(plugins_rot47_la_OBJECTS)
plugins_crypto_rot47_la_CFLAGS = $(plugin_cflags)
plugins_crypto_rot47_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if DESCBC
if DESCBC_BUILTIN
builtin_modules += crypto_descbc
builtin_sources += plugins/crypto_descbc.c
else
plugin_LTLIBRARIES += plugins/crypto_descbc.la
plugin_objects += $(plugins_descbc_la_OBJECTS)
plugins_crypto_descbc_la_CFLAGS = $(plugin_cflags)
plugins_crypto_descbc_la_LDFLAGS = $(plugin_ldflags)
endif
endif

if PPPD
script_PROGRAMS += scripts/pppd-script
script_SCRIPTS += scripts/60-flimflam.sh

scripts_pppd_script_LDADD = @DBUS_LIBS@
endif

if L2TPIPSEC
script_LTLIBRARIES += scripts/libppp-plugin.la
scripts_libppp_plugin_la_LIBADD = @DBUS_LIBS@
endif

if NEWWIFI
script_DATA += scripts/wpa_supplicant.conf
endif

if NSS
script_PROGRAMS += scripts/nss-get-cert
scripts_nss_get_cert_CFLAGS = @NSS_CFLAGS@
scripts_nss_get_cert_LDADD = @NSS_LIBS@
endif

if OPENVPN
script_PROGRAMS += scripts/openvpn-script

scripts_openvpn_script_LDADD = @DBUS_LIBS@
endif

EXTRA_DIST += plugins/polkit.policy scripts/dhclient.conf

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