-AM_CFLAGS = $(PACKAGE_CFLAGS) -I$(top_srcdir)/include -I$(top_srcdir)/tests/utils
+SUBDIRS = test-plugin-plugins writer .
-noinst_LIBRARIES = libtestcommon.a
+AM_CFLAGS = $(PACKAGE_CFLAGS) -I$(top_srcdir)/include -I$(top_srcdir)/tests/utils
LIBTAP=$(top_builddir)/tests/utils/tap/libtap.la
-libtestcommon_a_SOURCES = common.c common.h
+libtestcommon_la_SOURCES = common.c common.h
+noinst_LTLIBRARIES = libtestcommon.la
-test_seek_LDADD = $(LIBTAP) libtestcommon.a \
+# -Wl,--no-as-needed is needed for recent gold linker who seems to think
+# it knows better and considers libraries with constructors having
+# side-effects as dead code.
+test_seek_LDFLAGS = $(LD_NO_AS_NEEDED)
+COMMON_TEST_LDADD = $(LIBTAP) $(builddir)/libtestcommon.la \
$(top_builddir)/lib/libbabeltrace.la \
$(top_builddir)/formats/ctf/libbabeltrace-ctf.la
-test_bitfield_LDADD = $(LIBTAP) libtestcommon.a
+test_seek_LDADD = $(COMMON_TEST_LDADD)
+
+test_bitfield_LDADD = $(LIBTAP) $(builddir)/libtestcommon.la
+
+test_ctf_writer_LDADD = $(COMMON_TEST_LDADD)
+
+test_bt_values_LDADD = $(LIBTAP) \
+ $(top_builddir)/lib/libbabeltrace.la
+
+test_ctf_ir_ref_LDADD = $(COMMON_TEST_LDADD)
+
+test_bt_ctf_field_type_validation_LDADD = $(COMMON_TEST_LDADD)
+
+test_ir_visit_LDADD = $(COMMON_TEST_LDADD)
-noinst_PROGRAMS = test_seek test_bitfield
+test_trace_listener_LDADD = $(COMMON_TEST_LDADD)
+
+test_bt_notification_heap_LDADD = $(COMMON_TEST_LDADD)
+
+test_plugin_LDADD = $(COMMON_TEST_LDADD)
+
+noinst_PROGRAMS = test_seek test_bitfield test_ctf_writer test_bt_values \
+ test_ctf_ir_ref test_bt_ctf_field_type_validation test_ir_visit \
+ test_trace_listener test_bt_notification_heap test_plugin
test_seek_SOURCES = test_seek.c
test_bitfield_SOURCES = test_bitfield.c
+test_ctf_writer_SOURCES = test_ctf_writer.c
+test_bt_values_SOURCES = test_bt_values.c
+test_ctf_ir_ref_SOURCES = test_ctf_ir_ref.c
+test_bt_ctf_field_type_validation_SOURCES = test_bt_ctf_field_type_validation.c
+test_ir_visit_SOURCES = test_ir_visit.c
+test_trace_listener_SOURCES = test_trace_listener.c
+test_bt_notification_heap_SOURCES = test_bt_notification_heap.c
+test_plugin_SOURCES = test_plugin.c
+
+check_SCRIPTS = test_seek_big_trace \
+ test_seek_empty_packet \
+ test_ctf_writer_complete \
+ test_plugin_complete
+
+if ENABLE_DEBUG_INFO
+test_dwarf_LDFLAGS = -static
+test_dwarf_LDADD = $(LIBTAP) \
+ $(top_builddir)/lib/libbabeltrace.la \
+ $(top_builddir)/lib/libdebug-info.la
+test_dwarf_SOURCES = test_dwarf.c
+
+test_bin_info_LDFLAGS = -static
+test_bin_info_LDADD = $(LIBTAP) \
+ $(top_builddir)/lib/libbabeltrace.la \
+ $(top_builddir)/lib/libdebug-info.la
+test_bin_info_SOURCES = test_bin_info.c
-EXTRA_DIST = test_seek_big_trace test_seek_empty_packet
+noinst_PROGRAMS += test_dwarf test_bin_info
+check_SCRIPTS += test_dwarf_complete test_bin_info_complete
+endif