`
andy136566
  • 浏览: 285198 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

gtest小试 第一个makefile

 
阅读更多

gtest编译:

http://www.linuxidc.com/Linux/2011-08/40946.htm

 

gtest将就着的一个流程 http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552011357338290/

 

 

gtest自带了个makefile只能编译一个文件,要make其他的每次都要改,改了下,可以编译所有(注意路径)

GTEST_DIR = /home/andy/tools/gtest-1.5.0

SRC_CPP = $(wildcard /home/andy/gtest/src/*.cpp)
SRC_H = $(wildcard /home/andy/gtest/src/*.h)
SRC_DIR = /home/andy/gtest/src/
TEST_CPP = $(wildcard ./unittest/*.cpp)
SRC_OBJ_TEMP = $(subst .cpp,.o,$(SRC_CPP))
SRC_OBJ = $(notdir $(SRC_OBJ_TEMP))
TEST_OBJ_TEMP = $(subst .cpp,.o,$(TEST_CPP))
TEST_OBJ = $(notdir $(TEST_OBJ_TEMP))
MAIN_OBJ = $(subst .o,,$(TEST_OBJ))
CPPFLAGS += -I$(GTEST_DIR)/include

CXXFLAGS += -g -Wall -Wextra

GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \
                $(GTEST_DIR)/include/gtest/internal/*.h

all : $(MAIN_OBJ)

clean :
	rm -f $(MAIN_OBJ) gtest.a gtest_main.a *.o

GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)

gtest-all.o : $(GTEST_SRCS_)
	$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \
            $(GTEST_DIR)/src/gtest-all.cc

gtest_main.o : $(GTEST_SRCS_)
	$(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \
            $(GTEST_DIR)/src/gtest_main.cc

gtest.a : gtest-all.o
	$(AR) $(ARFLAGS) $@ $^

gtest_main.a : gtest-all.o gtest_main.o
	$(AR) $(ARFLAGS) $@ $^

$(SRC_OBJ) : $(SRC_CPP) $(SRC_H) $(GTEST_HEADERS)
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(SRC_CPP)

$(TEST_OBJ) : $(TEST_CPP)  $(SRC_H) $(GTEST_HEADERS)
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(SRC_DIR) -c $(TEST_CPP)

$(MAIN_OBJ) : $(SRC_OBJ) $(TEST_OBJ) gtest_main.o gtest_main.a
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics