blob: 808b655e9dba13c6d7a4cdd069e9ae5daa212850 [file] [log] [blame]
TEST_SRC = $(shell find tests/cpp/ -name "*.cc")
TEST_OBJ = $(patsubst %.cc, build/%.o, $(TEST_SRC))
TEST = build/tests/cpp/mxnet_test
GTEST_LIB=$(GTEST_PATH)/lib/
GTEST_INC=$(GTEST_PATH)/include/
TEST_CFLAGS = -Itests/cpp/include -Isrc $(CFLAGS)
TEST_LDFLAGS = $(LDFLAGS) -Llib -lmxnet
ifeq ($(USE_BREAKPAD), 1)
TEST_CFLAGS += -I/usr/local/include/breakpad
TEST_LDFLAGS += -lbreakpad_client -lbreakpad
endif
.PHONY: runtest testclean
build/tests/cpp/%.o : tests/cpp/%.cc
@mkdir -p $(@D)
$(CXX) -std=c++0x $(TEST_CFLAGS) -MM -MT tests/cpp/$* $< > build/tests/cpp/$*.d
$(CXX) -c -std=c++0x $(TEST_CFLAGS) -I$(GTEST_INC) -o build/tests/cpp/$*.o $(filter %.cc %.a, $^)
build/tests/cpp/operator/%.o : tests/cpp/operator/%.cc
@mkdir -p $(@D)
$(CXX) -std=c++0x $(TEST_CFLAGS) -MM -MT tests/cpp/operator/$* $< > build/tests/cpp/operator/$*.d
$(CXX) -c -std=c++0x $(TEST_CFLAGS) -I$(GTEST_INC) -o build/tests/cpp/operator/$*.o $(filter %.cc %.a, $^)
build/tests/cpp/storage/%.o : tests/cpp/storage/%.cc
@mkdir -p $(@D)
$(CXX) -std=c++0x $(TEST_CFLAGS) -MM -MT tests/cpp/storage/$* $< > build/tests/cpp/storage/$*.d
$(CXX) -c -std=c++0x $(TEST_CFLAGS) -I$(GTEST_INC) -o build/tests/cpp/storage/$*.o $(filter %.cc %.a, $^)
build/tests/cpp/engine/%.o : tests/cpp/engine/%.cc
@mkdir -p $(@D)
$(CXX) -std=c++0x $(TEST_CFLAGS) -MM -MT tests/cpp/engine/$* $< > build/tests/cpp/engine/$*.d
$(CXX) -c -std=c++0x $(TEST_CFLAGS) -I$(GTEST_INC) -o build/tests/cpp/engine/$*.o $(filter %.cc %.a, $^)
$(TEST): $(TEST_OBJ) lib/libmxnet.so
$(CXX) -std=c++0x $(TEST_CFLAGS) -I$(GTEST_INC) -o $@ $^ $(TEST_LDFLAGS) -L$(GTEST_LIB) -lgtest
runtest: $(TEST)
LD_LIBRARY_PATH=$(shell pwd)/lib:$(LD_LIBRARY_PATH) $(TEST)
testclean:
rm -f $(TEST) $(TEST_OBJ)
-include build/tests/cpp/*.d
-include build/tests/cpp/operator/*.d
-include build/tests/cpp/storage/*.d
-include build/tests/cpp/engine/*.d