]>
Commit | Line | Data |
---|---|---|
31f18b77 FG |
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 $@ |