Index: testing/gmock/make/Makefile |
diff --git a/testing/gmock/make/Makefile b/testing/gmock/make/Makefile |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ee0527e16ff23cb724b354db4b73daa4fe33163f |
--- /dev/null |
+++ b/testing/gmock/make/Makefile |
@@ -0,0 +1,109 @@ |
+# A sample Makefile for building both Google Mock and Google Test and |
+# using them in user tests. This file is self-contained, so you don't |
+# need to use the Makefile in Google Test's source tree. Please tweak |
+# it to suit your environment and project. You may want to move it to |
+# your project's root directory. |
+# |
+# SYNOPSIS: |
+# |
+# make [all] - makes everything. |
+# make TARGET - makes the given target. |
+# make clean - removes all files generated by make. |
+ |
+# Please tweak the following variable definitions as needed by your |
+# project, except GMOCK_HEADERS and GTEST_HEADERS, which you can use |
+# in your own targets but shouldn't modify. |
+ |
+# Points to the root of Google Test, relative to where this file is. |
+# Remember to tweak this if you move this file, or if you want to use |
+# a copy of Google Test at a different location. |
+GTEST_DIR = ../gtest |
+ |
+# Points to the root of Google Mock, relative to where this file is. |
+# Remember to tweak this if you move this file. |
+GMOCK_DIR = .. |
+ |
+# Where to find user code. |
+USER_DIR = ../test |
+ |
+# Flags passed to the preprocessor. |
+CPPFLAGS += -I$(GMOCK_DIR) -I$(GMOCK_DIR)/include \ |
+ -I$(GTEST_DIR) -I$(GTEST_DIR)/include |
+ |
+# Flags passed to the C++ compiler. |
+CXXFLAGS += -g -Wall -Wextra |
+ |
+# All tests produced by this Makefile. Remember to add new tests you |
+# created to the list. |
+TESTS = gmock_link_test gmock_test |
+ |
+# All Google Test headers. Usually you shouldn't change this |
+# definition. |
+GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \ |
+ $(GTEST_DIR)/include/gtest/internal/*.h |
+ |
+# All Google Mock headers. Note that all Google Test headers are |
+# included here too, as they are #included by Google Mock headers. |
+# Usually you shouldn't change this definition. |
+GMOCK_HEADERS = $(GMOCK_DIR)/include/gmock/*.h \ |
+ $(GMOCK_DIR)/include/gmock/internal/*.h \ |
+ $(GTEST_HEADERS) |
+ |
+# House-keeping build targets. |
+ |
+all : $(TESTS) |
+ |
+clean : |
+ rm -f $(TESTS) gmock.a gmock_main.a *.o |
+ |
+# Builds gmock.a and gmock_main.a. These libraries contain both |
+# Google Mock and Google Test. A test should link with either gmock.a |
+# or gmock_main.a, depending on whether it defines its own main() |
+# function. It's fine if your test only uses features from Google |
+# Test (and not Google Mock). |
+ |
+# Usually you shouldn't tweak such internal variables, indicated by a |
+# trailing _. |
+GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS) |
+GMOCK_SRCS_ = $(GMOCK_DIR)/src/*.cc $(GMOCK_HEADERS) |
+ |
+# For simplicity and to avoid depending on implementation details of |
+# Google Mock and Google Test, the dependencies specified below are |
+# conservative and not optimized. This is fine as Google Mock and |
+# Google Test compile fast and for ordinary users their source rarely |
+# changes. |
+gtest-all.o : $(GTEST_SRCS_) |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GTEST_DIR)/src/gtest-all.cc |
+ |
+gmock-all.o : $(GMOCK_SRCS_) |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GMOCK_DIR)/src/gmock-all.cc |
+ |
+gmock_main.o : $(GMOCK_SRCS_) |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GMOCK_DIR)/src/gmock_main.cc |
+ |
+gmock.a : gmock-all.o gtest-all.o |
+ $(AR) $(ARFLAGS) $@ $^ |
+ |
+gmock_main.a : gmock-all.o gtest-all.o gmock_main.o |
+ $(AR) $(ARFLAGS) $@ $^ |
+ |
+# Builds a sample test. |
+ |
+gmock_link_test.o : $(USER_DIR)/gmock_link_test.cc \ |
+ $(USER_DIR)/gmock_link_test.h $(GMOCK_HEADERS) |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/gmock_link_test.cc |
+ |
+gmock_link2_test.o : $(USER_DIR)/gmock_link2_test.cc \ |
+ $(USER_DIR)/gmock_link_test.h $(GMOCK_HEADERS) |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/gmock_link2_test.cc |
+ |
+gmock_link_test : gmock_link_test.o gmock_link2_test.o gmock_main.a |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@ |
+ |
+# Builds another sample test. |
+ |
+gmock_test.o : $(USER_DIR)/gmock_test.cc $(GMOCK_HEADERS) |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/gmock_test.cc |
+ |
+gmock_test : gmock_test.o gmock_main.a |
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@ |