2 CCFLAGS = -g -ansi -Wall -W -ansi # -pedantic
12 src = src/AssertException.cpp \
17 src/TestReporter.cpp \
18 src/TestReporterStdout.cpp \
19 src/ReportAssert.cpp \
21 src/TimeConstraint.cpp \
23 src/MemoryOutStream.cpp \
24 src/DeferredTestReporter.cpp \
25 src/DeferredTestResult.cpp \
26 src/XmlTestReporter.cpp
28 ifeq ($(MSYSTEM), MINGW32)
29 src += src/Win32/TimeHelpers.cpp
31 src += src/Posix/SignalTranslator.cpp \
32 src/Posix/TimeHelpers.cpp
35 test_src = src/tests/Main.cpp \
36 src/tests/TestAssertHandler.cpp \
37 src/tests/TestChecks.cpp \
38 src/tests/TestUnitTest++.cpp \
39 src/tests/TestTest.cpp \
40 src/tests/TestTestResults.cpp \
41 src/tests/TestTestRunner.cpp \
42 src/tests/TestCheckMacros.cpp \
43 src/tests/TestTestList.cpp \
44 src/tests/TestTestMacros.cpp \
45 src/tests/TestTimeConstraint.cpp \
46 src/tests/TestTimeConstraintMacro.cpp \
47 src/tests/TestMemoryOutStream.cpp \
48 src/tests/TestDeferredTestReporter.cpp \
49 src/tests/TestXmlTestReporter.cpp
51 objects = $(patsubst %.cpp, %.o, $(src))
52 test_objects = $(patsubst %.cpp, %.o, $(test_src))
53 dependencies = $(subst .o,.d,$(objects))
54 test_dependencies = $(subst .o,.d,$(test_objects))
57 $(CC) $(CCFLAGS) -M $1 | \
58 $(SED) -e 's,\($(notdir $2)\) *:,$(dir $2)\1: ,' > $3.tmp
63 -e 's/$$/ :/' $3.tmp >> $3.tmp
72 @echo Creating $(lib) library...
73 @ar cr $(lib) $(objects)
75 $(test): $(lib) $(test_objects)
76 @echo Linking $(test)...
77 @$(CC) -o $(test) $(test_objects) $(lib)
78 @echo Running unit tests...
82 -@$(RM) $(objects) $(test_objects) $(dependencies) $(test_dependencies) $(test) $(lib) 2> /dev/null
86 @$(call make-depend,$<,$@,$(subst .o,.d,$@))
87 @$(CC) $(CCFLAGS) -c $< -o $(patsubst %.cpp, %.o, $<)
90 ifneq "$(MAKECMDGOALS)" "clean"
91 -include $(dependencies)
92 -include $(test_dependencies)