1 | # A Makefile for fusing Google Test and building a sample test against it.
|
---|
2 | #
|
---|
3 | # SYNOPSIS:
|
---|
4 | #
|
---|
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.
|
---|
9 |
|
---|
10 | # Points to the root of fused Google Test, relative to where this file is.
|
---|
11 | FUSED_GTEST_DIR = output
|
---|
12 |
|
---|
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
|
---|
16 |
|
---|
17 | # Where to find the sample test.
|
---|
18 | SAMPLE_DIR = ../../samples
|
---|
19 |
|
---|
20 | # Where to find gtest_main.cc.
|
---|
21 | GTEST_MAIN_CC = ../../src/gtest_main.cc
|
---|
22 |
|
---|
23 | # Flags passed to the preprocessor.
|
---|
24 | # We have no idea here whether pthreads is available in the system, so
|
---|
25 | # disable its use.
|
---|
26 | CPPFLAGS += -I$(FUSED_GTEST_DIR) -DGTEST_HAS_PTHREAD=0
|
---|
27 |
|
---|
28 | # Flags passed to the C++ compiler.
|
---|
29 | CXXFLAGS += -g
|
---|
30 |
|
---|
31 | all : sample1_unittest
|
---|
32 |
|
---|
33 | check : all
|
---|
34 | ./sample1_unittest
|
---|
35 |
|
---|
36 | clean :
|
---|
37 | rm -rf $(FUSED_GTEST_DIR) sample1_unittest *.o
|
---|
38 |
|
---|
39 | $(FUSED_GTEST_H) :
|
---|
40 | ../fuse_gtest_files.py $(FUSED_GTEST_DIR)
|
---|
41 |
|
---|
42 | $(FUSED_GTEST_ALL_CC) :
|
---|
43 | ../fuse_gtest_files.py $(FUSED_GTEST_DIR)
|
---|
44 |
|
---|
45 | gtest-all.o : $(FUSED_GTEST_H) $(FUSED_GTEST_ALL_CC)
|
---|
46 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(FUSED_GTEST_DIR)/gtest/gtest-all.cc
|
---|
47 |
|
---|
48 | gtest_main.o : $(FUSED_GTEST_H) $(GTEST_MAIN_CC)
|
---|
49 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GTEST_MAIN_CC)
|
---|
50 |
|
---|
51 | sample1.o : $(SAMPLE_DIR)/sample1.cc $(SAMPLE_DIR)/sample1.h
|
---|
52 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1.cc
|
---|
53 |
|
---|
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
|
---|
57 |
|
---|
58 | sample1_unittest : sample1.o sample1_unittest.o gtest-all.o gtest_main.o
|
---|
59 | $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@
|
---|