tests: Makefile flags cleanup

This makes sure the correct flags are passed for each stage of
compilation and simplifies the logic for each different test case by
providing uniform flags for all of them. This also makes us link against
libsdbusplus instead of the individual object files so that we don't
need to track object implementation details from the source base of the
project.

Tested:
    Test cases still build and pass.

Change-Id: I8474d93d2c3f72a4b500c93016f3b7d7afe07b3c
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/test/Makefile.am b/test/Makefile.am
index d4d41e4..56fefad 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,60 +1,52 @@
 if WANT_LIBSDBUSPLUS
 
-AM_CPPFLAGS = -I$(top_srcdir) $(GTEST_CFLAGS)
-gtest_ldadd = $(GTEST_LIBS) -lgtest_main $(OESDK_TESTCASE_FLAGS) $(PTHREAD_LIBS)
-check_PROGRAMS =
+AM_CPPFLAGS = -I$(top_builddir) -I$(top_srcdir) \
+              $(GTEST_CFLAGS) $(SYSTEMD_CFLAGS)
+test_ldadd = $(top_builddir)/libsdbusplus.la $(SYSTEMD_LIBS) \
+             $(OESDK_TESTCASE_FLAGS)
+gtest_ldadd = $(test_ldadd) $(GTEST_LIBS) -lgtest_main
+legacy_test_cxxflags = $(PTHREAD_CFLAGS)
+legacy_test_ldadd = $(test_ldadd) $(PTHREAD_LIBS)
 
+check_PROGRAMS =
 TESTS = $(check_PROGRAMS)
 
 check_PROGRAMS += bus_list_names
-bus_list_names_CXXFLAGS = $(PTHREAD_CFLAGS)
 bus_list_names_SOURCES = bus/list_names.cpp
-bus_list_names_LDADD = $(gtest_ldadd) $(SYSTEMD_LIBS) \
-		       $(top_builddir)/sdbusplus/sdbus.o
+bus_list_names_LDADD = $(gtest_ldadd)
 
 check_PROGRAMS += bus_match
-bus_match_CXXFLAGS = $(PTHREAD_CFLAGS)
 bus_match_SOURCES = bus/match.cpp
-bus_match_LDADD = $(gtest_ldadd) $(SYSTEMD_LIBS) \
-		  $(top_builddir)/sdbusplus/sdbus.o \
-		  $(top_builddir)/sdbusplus/exception.o
+bus_match_LDADD = $(gtest_ldadd)
 
 check_PROGRAMS += message_append
 message_append_SOURCES = message/append.cpp
-message_append_CXXFLAGS = $(SYSTEMD_CFLAGS) $(PTHREAD_CFLAGS)
-message_append_LDADD = $(gtest_ldadd) $(SYSTEMD_LIBS) $(PTHREAD_LIBS) \
-		       $(top_builddir)/sdbusplus/sdbus.o \
-		       $(top_builddir)/sdbusplus/exception.o
+message_append_CXXFLAGS = $(legacy_test_cxxflags)
+message_append_LDADD = $(legacy_test_ldadd)
 
 check_PROGRAMS += message_read
 message_read_SOURCES = message/read.cpp
-message_read_CXXFLAGS = $(SYSTEMD_CFLAGS) $(PTHREAD_CFLAGS)
-message_read_LDADD = $(gtest_ldadd) $(SYSTEMD_LIBS) $(PTHREAD_LIBS) \
-		     $(top_builddir)/sdbusplus/sdbus.o \
-		     $(top_builddir)/sdbusplus/exception.o
+message_read_CXXFLAGS = $(legacy_test_cxxflags)
+message_read_LDADD = $(legacy_test_ldadd)
 
 check_PROGRAMS += message_native_types
-message_native_types_CXXFLAGS = $(PTHREAD_CFLAGS)
 message_native_types_SOURCES = message/native_types.cpp
 message_native_types_LDADD = $(gtest_ldadd)
 
 check_PROGRAMS += message_types
-message_types_CXXFLAGS = $(PTHREAD_CFLAGS)
 message_types_SOURCES = message/types.cpp
 message_types_LDADD = $(gtest_ldadd)
 
 check_PROGRAMS += utility_tuple_to_array
-utility_tuple_to_array_CXXFLAGS = $(PTHREAD_CFLAGS)
 utility_tuple_to_array_SOURCES = utility/tuple_to_array.cpp
 utility_tuple_to_array_LDADD = $(gtest_ldadd)
 
 check_PROGRAMS += utility_type_traits
-utility_type_traits_CXXFLAGS = $(PTHREAD_CFLAGS)
 utility_type_traits_SOURCES = utility/type_traits.cpp
-utility_type_traits_LDADD = $(gtest_ldadd)
+utility_type_traits_CXXFLAGS = $(legacy_test_cxxflags)
+utility_type_traits_LDADD = $(legacy_test_ldadd)
 
 check_PROGRAMS += vtable_vtable
-vtable_vtable_CXXFLAGS = $(PTHREAD_CFLAGS)
 vtable_vtable_SOURCES = vtable/vtable.cpp vtable/vtable_c.c
 vtable_vtable_LDADD = $(gtest_ldadd)