
builtin_modules += hostname
builtin_sources += plugins/hostname.c

builtin_modules += wiimote
builtin_sources += plugins/wiimote.c

builtin_modules += autopair
builtin_sources += plugins/autopair.c

builtin_modules += policy
builtin_sources += plugins/policy.c

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

if SAP
builtin_modules += sap
builtin_sources += profiles/sap/main.c profiles/sap/manager.h \
			profiles/sap/manager.c profiles/sap/server.h \
			profiles/sap/server.c profiles/sap/sap.h \
			profiles/sap/sap-dummy.c
endif

if A2DP
builtin_modules += a2dp
builtin_sources += profiles/audio/source.h profiles/audio/source.c \
			profiles/audio/sink.h profiles/audio/sink.c \
			profiles/audio/a2dp.h profiles/audio/a2dp.c \
			profiles/audio/avdtp.h profiles/audio/avdtp.c \
			profiles/audio/media.h profiles/audio/media.c \
			profiles/audio/transport.h profiles/audio/transport.c \
			profiles/audio/a2dp-codecs.h
endif


if AVRCP
builtin_modules += avrcp
builtin_sources += profiles/audio/control.h profiles/audio/control.c \
			profiles/audio/avctp.h profiles/audio/avctp.c \
			profiles/audio/avrcp.h profiles/audio/avrcp.c \
			profiles/audio/player.h profiles/audio/player.c
endif

if NETWORK
builtin_modules += network
builtin_sources += profiles/network/manager.c \
			profiles/network/bnep.h profiles/network/bnep.c \
			profiles/network/server.h profiles/network/server.c \
			profiles/network/connection.h \
			profiles/network/connection.c
endif

if HID
builtin_modules += input
builtin_sources += profiles/input/manager.c \
			profiles/input/server.h profiles/input/server.c \
			profiles/input/device.h profiles/input/device.c \
			profiles/input/hidp_defs.h
endif

if HOG
builtin_modules += hog
builtin_sources += profiles/input/hog.c profiles/input/uhid_copy.h \
			profiles/input/hog-lib.c profiles/input/hog-lib.h \
			profiles/deviceinfo/dis.c profiles/deviceinfo/dis.h \
			profiles/battery/bas.c profiles/battery/bas.h \
			profiles/scanparam/scpp.c profiles/scanparam/scpp.h \
			profiles/input/suspend.h profiles/input/suspend-none.c

EXTRA_DIST += profiles/input/suspend-dummy.c
endif

if HEALTH
builtin_modules += health
builtin_sources += profiles/health/mcap.h profiles/health/mcap.c \
			profiles/health/hdp_main.c profiles/health/hdp_types.h \
			profiles/health/hdp_manager.h \
			profiles/health/hdp_manager.c \
			profiles/health/hdp.h profiles/health/hdp.c \
			profiles/health/hdp_util.h profiles/health/hdp_util.c
endif

builtin_modules += gap
builtin_sources += profiles/gap/gas.c

builtin_modules += scanparam
builtin_sources += profiles/scanparam/scan.c

builtin_modules += deviceinfo
builtin_sources += profiles/deviceinfo/deviceinfo.c

if MIDI
builtin_modules += midi
builtin_sources += profiles/midi/midi.c \
			profiles/midi/libmidi.h \
			profiles/midi/libmidi.c
builtin_ldadd += @ALSA_LIBS@
endif

if SIXAXIS
plugin_LTLIBRARIES += plugins/sixaxis.la
plugins_sixaxis_la_SOURCES = plugins/sixaxis.c
plugins_sixaxis_la_LDFLAGS = $(AM_LDFLAGS) -module -avoid-version \
						-no-undefined @UDEV_LIBS@
plugins_sixaxis_la_CFLAGS = $(AM_CFLAGS) -fvisibility=hidden @UDEV_CFLAGS@
endif
