Home | History | Annotate | Download | only in test
      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 CPPFLAGS += -I$(FUSED_GTEST_DIR)
     25 
     26 # Flags passed to the C++ compiler.
     27 CXXFLAGS += -g
     28 
     29 all : sample1_unittest
     30 
     31 check : all
     32 	./sample1_unittest
     33 
     34 clean :
     35 	rm -rf $(FUSED_GTEST_DIR) sample1_unittest *.o
     36 
     37 $(FUSED_GTEST_H) :
     38 	../fuse_gtest_files.py $(FUSED_GTEST_DIR)
     39 
     40 $(FUSED_GTEST_ALL_CC) :
     41 	../fuse_gtest_files.py $(FUSED_GTEST_DIR)
     42 
     43 gtest-all.o : $(FUSED_GTEST_H) $(FUSED_GTEST_ALL_CC)
     44 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(FUSED_GTEST_DIR)/gtest/gtest-all.cc
     45 
     46 gtest_main.o : $(FUSED_GTEST_H) $(GTEST_MAIN_CC)
     47 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GTEST_MAIN_CC)
     48 
     49 sample1.o : $(SAMPLE_DIR)/sample1.cc $(SAMPLE_DIR)/sample1.h
     50 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1.cc
     51 
     52 sample1_unittest.o : $(SAMPLE_DIR)/sample1_unittest.cc \
     53                      $(SAMPLE_DIR)/sample1.h $(FUSED_GTEST_H)
     54 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1_unittest.cc
     55 
     56 sample1_unittest : sample1.o sample1_unittest.o gtest-all.o gtest_main.o
     57 	$(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@
     58