69 lines
1.6 KiB
Makefile
69 lines
1.6 KiB
Makefile
|
# Build all the unit tests
|
||
|
# Should be run using mingw32-make on Windows
|
||
|
|
||
|
.SUFFIXES: .cxx
|
||
|
|
||
|
GTEST_DIR = ../../../../gtest-1.5.0
|
||
|
|
||
|
ifdef windir
|
||
|
|
||
|
DEL = del /q
|
||
|
# Find Google Test headers.
|
||
|
CPPFLAGS += -I$(GTEST_DIR)/include
|
||
|
GTEST_ALL = gtest-all.o
|
||
|
LINKFLAGS = $(CPPFLAGS) $(CXXFLAGS)
|
||
|
EXE = unitTest.exe
|
||
|
|
||
|
else
|
||
|
|
||
|
DEL = rm -f
|
||
|
CPPFLAGS = $(shell gtest-config --cppflags)
|
||
|
CXXFLAGS = $(shell gtest-config --cxxflags)
|
||
|
LINKFLAGS = $(shell gtest-config --ldflags --libs)
|
||
|
EXE = unitTest
|
||
|
|
||
|
# For coverage testing with gcov
|
||
|
#CPPFLAGS += -fprofile-arcs -ftest-coverage
|
||
|
#LINKFLAGS += -fprofile-arcs -ftest-coverage
|
||
|
|
||
|
endif
|
||
|
|
||
|
#vpath %.cxx ../src ../lexlib ../lexers
|
||
|
vpath %.cxx ../../src
|
||
|
|
||
|
|
||
|
INCLUDEDIRS = -I ../../include -I ../../src -I../../lexlib
|
||
|
|
||
|
|
||
|
# Find headers of test code.
|
||
|
CPPFLAGS += $(INCLUDEDIRS)
|
||
|
|
||
|
CXXFLAGS += -g -Wall -Wextra -Wno-unused-function
|
||
|
#~ CXXFLAGS += -g -Wall
|
||
|
|
||
|
CASES:=$(addsuffix .o,$(basename $(notdir $(wildcard test*.cxx))))
|
||
|
TESTEDOBJS=ContractionState.o RunStyles.o
|
||
|
|
||
|
TESTS=$(EXE)
|
||
|
|
||
|
GTEST_HEADERS=$(GTEST_DIR)/include/gtest/*.h $(GTEST_DIR)/include/gtest/internal/*.h
|
||
|
|
||
|
all: $(TESTS)
|
||
|
|
||
|
clean:
|
||
|
$(DEL) $(TESTS) *.a *.o *.exe *.gcov *.gcda *.gcno
|
||
|
|
||
|
# Usually you shouldn't tweak such internal variables, indicated by a
|
||
|
# trailing _.
|
||
|
GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS)
|
||
|
|
||
|
gtest-all.o: $(GTEST_SRCS_)
|
||
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(GTEST_DIR) -c \
|
||
|
$(GTEST_DIR)/src/gtest-all.cc
|
||
|
|
||
|
.cxx.o:
|
||
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $<
|
||
|
|
||
|
$(EXE): $(CASES) $(TESTEDOBJS) unitTest.o $(GTEST_ALL)
|
||
|
$(CXX) $(LINKFLAGS) $^ -o $@
|