-TESTS = factorial_test.o sum_test.o init_fail_test.o
-MUTEST = mutest.o
-SUITES_RUNNER = $(SUITES_RUNNER_SRC:.c=.o)
-SO = factorial.so sum.so init_fail_test.so
-ALL = $(SUITES_RUNNER) $(OBJS) $(TESTS) $(MUTEST)
+TEST_OBJS = factorial_test.o sum_test.o init_fail_test.o
+MUTEST_OBJ = mutest.o
+RUNNER_OBJ = $(RUNNER_SRC:.c=.o)
+ALL_OBJS = $(RUNNER_OBJ) $(OBJS) $(TEST_OBJS) $(MUTEST_OBJ)
+TEST_SOS = $(TEST_OBJS:.o=.so)
+
+ifeq ($(CPP_SUITE), 1)
+TEST_OBJS += exception_test.o
+LD = $(CXX)
+endif