comparison ext/UnitTest++/Makefile @ 37:0d325e9d5953

added unittest++ files into ext. Not hooked into build scripts yet
author jasoka@33b003aa-7bff-0310-803a-e67f0ece8222
date Sat, 12 Jul 2008 12:00:57 +0000
parents
children
comparison
equal deleted inserted replaced
36:6f1227f4932b 37:0d325e9d5953
1 CC = g++
2 CCFLAGS = -g -ansi -Wall -W -ansi # -pedantic
3 SED = sed
4 MV = mv
5 RM = rm
6
7 .SUFFIXES: .o .cpp
8
9 lib = libUnitTest++.a
10 test = TestUnitTest++
11
12 src = src/AssertException.cpp \
13 src/Test.cpp \
14 src/Checks.cpp \
15 src/TestRunner.cpp \
16 src/TestResults.cpp \
17 src/TestReporter.cpp \
18 src/TestReporterStdout.cpp \
19 src/ReportAssert.cpp \
20 src/TestList.cpp \
21 src/TimeConstraint.cpp \
22 src/TestDetails.cpp \
23 src/MemoryOutStream.cpp \
24 src/DeferredTestReporter.cpp \
25 src/DeferredTestResult.cpp \
26 src/XmlTestReporter.cpp
27
28 ifeq ($(MSYSTEM), MINGW32)
29 src += src/Win32/TimeHelpers.cpp
30 else
31 src += src/Posix/SignalTranslator.cpp \
32 src/Posix/TimeHelpers.cpp
33 endif
34
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
50
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))
55
56 define make-depend
57 $(CC) $(CCFLAGS) -M $1 | \
58 $(SED) -e 's,\($(notdir $2)\) *:,$(dir $2)\1: ,' > $3.tmp
59 $(SED) -e 's/#.*//' \
60 -e 's/^[^:]*: *//' \
61 -e 's/ *\\$$//' \
62 -e '/^$$/ d' \
63 -e 's/$$/ :/' $3.tmp >> $3.tmp
64 $(MV) $3.tmp $3
65 endef
66
67
68 all: $(test)
69
70
71 $(lib): $(objects)
72 @echo Creating $(lib) library...
73 @ar cr $(lib) $(objects)
74
75 $(test): $(lib) $(test_objects)
76 @echo Linking $(test)...
77 @$(CC) -o $(test) $(test_objects) $(lib)
78 @echo Running unit tests...
79 @./$(test)
80
81 clean:
82 -@$(RM) $(objects) $(test_objects) $(dependencies) $(test_dependencies) $(test) $(lib) 2> /dev/null
83
84 %.o : %.cpp
85 @echo $<
86 @$(call make-depend,$<,$@,$(subst .o,.d,$@))
87 @$(CC) $(CCFLAGS) -c $< -o $(patsubst %.cpp, %.o, $<)
88
89
90 ifneq "$(MAKECMDGOALS)" "clean"
91 -include $(dependencies)
92 -include $(test_dependencies)
93 endif