59 lines
1.8 KiB
Makefile
59 lines
1.8 KiB
Makefile
# A Makefile for fusing Google Test 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 Test, relative to where this file is.
|
|
FUSED_GTEST_DIR = output
|
|
|
|
# Paths to the fused gtest files.
|
|
FUSED_GTEST_H = $(FUSED_GTEST_DIR)/gtest/gtest.h
|
|
FUSED_GTEST_ALL_CC = $(FUSED_GTEST_DIR)/gtest/gtest-all.cc
|
|
|
|
# Where to find the sample test.
|
|
SAMPLE_DIR = ../../samples
|
|
|
|
# Where to find gtest_main.cc.
|
|
GTEST_MAIN_CC = ../../src/gtest_main.cc
|
|
|
|
# Flags passed to the preprocessor.
|
|
# We have no idea here whether pthreads is available in the system, so
|
|
# disable its use.
|
|
CPPFLAGS += -I$(FUSED_GTEST_DIR) -DGTEST_HAS_PTHREAD=0
|
|
|
|
# Flags passed to the C++ compiler.
|
|
CXXFLAGS += -g
|
|
|
|
all : sample1_unittest
|
|
|
|
check : all
|
|
./sample1_unittest
|
|
|
|
clean :
|
|
rm -rf $(FUSED_GTEST_DIR) sample1_unittest *.o
|
|
|
|
$(FUSED_GTEST_H) :
|
|
../fuse_gtest_files.py $(FUSED_GTEST_DIR)
|
|
|
|
$(FUSED_GTEST_ALL_CC) :
|
|
../fuse_gtest_files.py $(FUSED_GTEST_DIR)
|
|
|
|
gtest-all.o : $(FUSED_GTEST_H) $(FUSED_GTEST_ALL_CC)
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(FUSED_GTEST_DIR)/gtest/gtest-all.cc
|
|
|
|
gtest_main.o : $(FUSED_GTEST_H) $(GTEST_MAIN_CC)
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(GTEST_MAIN_CC)
|
|
|
|
sample1.o : $(SAMPLE_DIR)/sample1.cc $(SAMPLE_DIR)/sample1.h
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1.cc
|
|
|
|
sample1_unittest.o : $(SAMPLE_DIR)/sample1_unittest.cc \
|
|
$(SAMPLE_DIR)/sample1.h $(FUSED_GTEST_H)
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SAMPLE_DIR)/sample1_unittest.cc
|
|
|
|
sample1_unittest : sample1.o sample1_unittest.o gtest-all.o gtest_main.o
|
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $@
|