113481Sgiacomo.travaglini@arm.com# A Makefile for fusing Google Test and building a sample test against it.
213481Sgiacomo.travaglini@arm.com#
313481Sgiacomo.travaglini@arm.com# SYNOPSIS:
413481Sgiacomo.travaglini@arm.com#
513481Sgiacomo.travaglini@arm.com#   make [all]  - makes everything.
613481Sgiacomo.travaglini@arm.com#   make TARGET - makes the given target.
713481Sgiacomo.travaglini@arm.com#   make check  - makes everything and runs the built sample test.
813481Sgiacomo.travaglini@arm.com#   make clean  - removes all files generated by make.
913481Sgiacomo.travaglini@arm.com
1013481Sgiacomo.travaglini@arm.com# Points to the root of fused Google Test, relative to where this file is.
1113481Sgiacomo.travaglini@arm.comFUSED_GTEST_DIR = output
1213481Sgiacomo.travaglini@arm.com
1313481Sgiacomo.travaglini@arm.com# Paths to the fused gtest files.
1413481Sgiacomo.travaglini@arm.comFUSED_GTEST_H = $(FUSED_GTEST_DIR)/gtest/gtest.h
1513481Sgiacomo.travaglini@arm.comFUSED_GTEST_ALL_CC = $(FUSED_GTEST_DIR)/gtest/gtest-all.cc
1613481Sgiacomo.travaglini@arm.com
1713481Sgiacomo.travaglini@arm.com# Where to find the sample test.
1813481Sgiacomo.travaglini@arm.comSAMPLE_DIR = ../../samples
1913481Sgiacomo.travaglini@arm.com
2013481Sgiacomo.travaglini@arm.com# Where to find gtest_main.cc.
2113481Sgiacomo.travaglini@arm.comGTEST_MAIN_CC = ../../src/gtest_main.cc
2213481Sgiacomo.travaglini@arm.com
2313481Sgiacomo.travaglini@arm.com# Flags passed to the preprocessor.
2413481Sgiacomo.travaglini@arm.com# We have no idea here whether pthreads is available in the system, so
2513481Sgiacomo.travaglini@arm.com# disable its use.
2613481Sgiacomo.travaglini@arm.comCPPFLAGS += -I$(FUSED_GTEST_DIR) -DGTEST_HAS_PTHREAD=0
2713481Sgiacomo.travaglini@arm.com
2813481Sgiacomo.travaglini@arm.com# Flags passed to the C++ compiler.
2913481Sgiacomo.travaglini@arm.comCXXFLAGS += -g
3013481Sgiacomo.travaglini@arm.com
3113481Sgiacomo.travaglini@arm.comall : sample1_unittest
3213481Sgiacomo.travaglini@arm.com
3313481Sgiacomo.travaglini@arm.comcheck : all
3413481Sgiacomo.travaglini@arm.com	./sample1_unittest
3513481Sgiacomo.travaglini@arm.com
3613481Sgiacomo.travaglini@arm.comclean :
3713481Sgiacomo.travaglini@arm.com	rm -rf $(FUSED_GTEST_DIR) sample1_unittest *.o
3813481Sgiacomo.travaglini@arm.com
3913481Sgiacomo.travaglini@arm.com$(FUSED_GTEST_H) :
4013481Sgiacomo.travaglini@arm.com	../fuse_gtest_files.py $(FUSED_GTEST_DIR)
4113481Sgiacomo.travaglini@arm.com
4213481Sgiacomo.travaglini@arm.com$(FUSED_GTEST_ALL_CC) :
4313481Sgiacomo.travaglini@arm.com	../fuse_gtest_files.py $(FUSED_GTEST_DIR)
4413481Sgiacomo.travaglini@arm.com
4513481Sgiacomo.travaglini@arm.comgtest-all.o : $(FUSED_GTEST_H) $(FUSED_GTEST_ALL_CC)
4613481Sgiacomo.travaglini@arm.com	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(FUSED_GTEST_DIR)/gtest/gtest-all.cc
4713481Sgiacomo.travaglini@arm.com
4813481Sgiacomo.travaglini@arm.comgtest_main.o : $(FUSED_GTEST_H) $(GTEST_MAIN_CC)
4913481Sgiacomo.travaglini@arm.com	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GTEST_MAIN_CC)
5013481Sgiacomo.travaglini@arm.com
5113481Sgiacomo.travaglini@arm.comsample1.o : $(SAMPLE_DIR)/sample1.cc $(SAMPLE_DIR)/sample1.h
5213481Sgiacomo.travaglini@arm.com	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1.cc
5313481Sgiacomo.travaglini@arm.com
5413481Sgiacomo.travaglini@arm.comsample1_unittest.o : $(SAMPLE_DIR)/sample1_unittest.cc \
5513481Sgiacomo.travaglini@arm.com                     $(SAMPLE_DIR)/sample1.h $(FUSED_GTEST_H)
5613481Sgiacomo.travaglini@arm.com	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1_unittest.cc
5713481Sgiacomo.travaglini@arm.com
5813481Sgiacomo.travaglini@arm.comsample1_unittest : sample1.o sample1_unittest.o gtest-all.o gtest_main.o
5913481Sgiacomo.travaglini@arm.com	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@
60