+if TOOLS
+bin_PROGRAMS += tools/nfctool/nfctool
+
+noinst_PROGRAMS = tools/snep-send
+
+tools_snep_send_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
+ src/bluetooth.c src/ndef.c \
+ tools/snep-send.c src/error.c \
+ src/agent.c
+tools_snep_send_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+
+tools_nfctool_nfctool_SOURCES = tools/nfctool/main.c \
+ tools/nfctool/nfctool.h \
+ tools/nfctool/adapter.h \
+ tools/nfctool/adapter.c \
+ tools/nfctool/netlink.h \
+ tools/nfctool/netlink.c \
+ tools/nfctool/sniffer.h \
+ tools/nfctool/sniffer.c \
+ tools/nfctool/llcp-decode.h \
+ tools/nfctool/llcp-decode.c \
+ tools/nfctool/snep-decode.h \
+ tools/nfctool/snep-decode.c \
+ tools/nfctool/ndef-decode.h \
+ tools/nfctool/ndef-decode.c \
+ tools/nfctool/display.h \
+ tools/nfctool/display.c
+
+tools_nfctool_nfctool_LDADD = @GLIB_LIBS@ @NETLINK_LIBS@
+
+unit_tests = unit/test-ndef-parse unit/test-ndef-build unit/test-snep-read
+
+unit_test_ndef_parse_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
+ src/error.c src/agent.c \
+ src/bluetooth.c src/ndef.c \
+ unit/test-ndef-parse.c
+unit_test_ndef_parse_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+
+unit_test_ndef_build_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
+ src/error.c src/agent.c \
+ src/bluetooth.c src/ndef.c \
+ unit/test-ndef-build.c
+unit_test_ndef_build_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+
+unit_test_snep_read_SOURCES = $(gdbus_sources) src/log.c src/dbus.c \
+ src/error.c src/agent.c \
+ src/bluetooth.c src/ndef.c src/snep.c \
+ unit/test-snep-read.c unit/test-utils.c \
+ unit/test-utils.h
+unit_test_snep_read_LDADD = @GLIB_LIBS@ @DBUS_LIBS@
+
+noinst_PROGRAMS += $(unit_tests)
+
+TESTS = $(unit_tests)
+
+endif
+