1 # A Makefile for fusing Google Test and building a sample test against it.
5 # make [all] - makes everything.
6 # make TARGET - makes the given target.
7 # make check - makes everything and runs the built sample test.
8 # make clean - removes all files generated by make.
10 # Points to the root of fused Google Test, relative to where this file is.
11 FUSED_GTEST_DIR
= output
13 # Paths to the fused gtest files.
14 FUSED_GTEST_H
= $(FUSED_GTEST_DIR
)/gtest
/gtest.h
15 FUSED_GTEST_ALL_CC
= $(FUSED_GTEST_DIR
)/gtest
/gtest-all.
cc
17 # Where to find the sample test.
18 SAMPLE_DIR
= ..
/..
/samples
20 # Where to find gtest_main.cc.
21 GTEST_MAIN_CC
= ..
/..
/src
/gtest_main.
cc
23 # Flags passed to the preprocessor.
24 # We have no idea here whether pthreads is available in the system, so
26 CPPFLAGS
+= -I
$(FUSED_GTEST_DIR
) -DGTEST_HAS_PTHREAD
=0
28 # Flags passed to the C++ compiler.
31 all : sample1_unittest
37 rm -rf
$(FUSED_GTEST_DIR
) sample1_unittest
*.o
40 ..
/fuse_gtest_files.py
$(FUSED_GTEST_DIR
)
42 $(FUSED_GTEST_ALL_CC
) :
43 ..
/fuse_gtest_files.py
$(FUSED_GTEST_DIR
)
45 gtest-all.o
: $(FUSED_GTEST_H
) $(FUSED_GTEST_ALL_CC
)
46 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) -c
$(FUSED_GTEST_DIR
)/gtest
/gtest-all.
cc
48 gtest_main.o
: $(FUSED_GTEST_H
) $(GTEST_MAIN_CC
)
49 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) -c
$(GTEST_MAIN_CC
)
51 sample1.o
: $(SAMPLE_DIR
)/sample1.
cc $(SAMPLE_DIR
)/sample1.h
52 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) -c
$(SAMPLE_DIR
)/sample1.
cc
54 sample1_unittest.o
: $(SAMPLE_DIR
)/sample1_unittest.
cc \
55 $(SAMPLE_DIR
)/sample1.h
$(FUSED_GTEST_H
)
56 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) -c
$(SAMPLE_DIR
)/sample1_unittest.
cc
58 sample1_unittest
: sample1.o sample1_unittest.o gtest-all.o gtest_main.o
59 $(CXX
) $(CPPFLAGS
) $(CXXFLAGS
) $^
-o
$@