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