| # A Makefile for fusing Google Mock 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 Mock, relative to where this file is. |
| FUSED_GMOCK_DIR = output |
| |
| # Paths to the fused gmock files. |
| FUSED_GTEST_H = $(FUSED_GMOCK_DIR)/gtest/gtest.h |
| FUSED_GMOCK_H = $(FUSED_GMOCK_DIR)/gmock/gmock.h |
| FUSED_GMOCK_GTEST_ALL_CC = $(FUSED_GMOCK_DIR)/gmock-gtest-all.cc |
| |
| # Where to find the gmock_test.cc. |
| GMOCK_TEST_CC = ../../test/gmock_test.cc |
| |
| # Where to find gmock_main.cc. |
| GMOCK_MAIN_CC = ../../src/gmock_main.cc |
| |
| # Flags passed to the preprocessor. |
| CPPFLAGS += -I$(FUSED_GMOCK_DIR) |
| |
| # Flags passed to the C++ compiler. |
| CXXFLAGS += -g |
| |
| all : gmock_test |
| |
| check : all |
| ./gmock_test |
| |
| clean : |
| rm -rf $(FUSED_GMOCK_DIR) gmock_test *.o |
| |
| $(FUSED_GTEST_H) : |
| ../fuse_gmock_files.py $(FUSED_GMOCK_DIR) |
| |
| $(FUSED_GMOCK_H) : |
| ../fuse_gmock_files.py $(FUSED_GMOCK_DIR) |
| |
| $(FUSED_GMOCK_GTEST_ALL_CC) : |
| ../fuse_gmock_files.py $(FUSED_GMOCK_DIR) |
| |
| gmock-gtest-all.o : $(FUSED_GTEST_H) $(FUSED_GMOCK_H) $(FUSED_GMOCK_GTEST_ALL_CC) |
| $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(FUSED_GMOCK_GTEST_ALL_CC) |
| |
| gmock_main.o : $(FUSED_GTEST_H) $(FUSED_GMOCK_H) $(GMOCK_MAIN_CC) |
| $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GMOCK_MAIN_CC) |
| |
| gmock_test.o : $(FUSED_GTEST_H) $(FUSED_GMOCK_H) $(GMOCK_TEST_CC) |
| $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GMOCK_TEST_CC) |
| |
| gmock_test : gmock_test.o gmock-gtest-all.o gmock_main.o |
| $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@ |