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