X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fext%2FMakefile;h=c89764ecb0b81d27071ab15ae1ffc4eba9d042b2;hb=6461b7a319e53490e04e5e59d7909766fca86209;hp=0c92c699b20b0fa7b27c0e81f164ee6cbdf13272;hpb=c36ee5ffd99e7ed688566293251317771c174d51;p=vpp.git diff --git a/test/ext/Makefile b/test/ext/Makefile index 0c92c699b20..c89764ecb0b 100644 --- a/test/ext/Makefile +++ b/test/ext/Makefile @@ -1,26 +1,25 @@ -VAPI_BINDIR = $(BR)/vapi_test/ -VAPI_CBIN = $(addprefix $(VAPI_BINDIR), vapi_c_test) -VAPI_CPPBIN = $(addprefix $(VAPI_BINDIR), vapi_cpp_test) -VOM_BINDIR = $(BR)/vom_test/ -VOM_BIN = $(addprefix $(VOM_BINDIR), vom_test) +TEST_EXT_DIR=$(TEST_DIR)/ext +VAPI_BINDIR = $(TEST_BR)/vapi_test +VAPI_CBIN = $(addprefix $(VAPI_BINDIR), /vapi_c_test) +VAPI_CPPBIN = $(addprefix $(VAPI_BINDIR), /vapi_cpp_test) +VOM_BINDIR = $(TEST_BR)/vom_test -ifeq ($(filter centos,$(OS_ID)),$(OS_ID)) -VAPI_CPPBIN= -endif +VAPI_LIBS = \ + -L$(VPP_INSTALL_PATH)/vpp/lib \ + -lvppinfra -lvlibmemoryclient -lsvm -lpthread -lcheck -lrt -lm -lvapiclient -VAPI_LIBS = -L$(VPP_TEST_BUILD_DIR)/vpp/.libs/ -L$(VPP_TEST_BUILD_DIR)/vpp/vpp-api/vapi/.libs/ -lvppinfra -lvlibmemoryclient -lsvm -lpthread -lcheck -lrt -lm -lvapiclient -ifneq ($(filter opensuse,$(OS_ID)),$(OS_ID)) +ifneq ($(filter centos opensuse opensuse-tumbleweed opensuse-leap,$(OS_ID)),$(OS_ID)) VAPI_LIBS += -lsubunit endif -CFLAGS = -std=gnu99 -g -Wall -pthread -I$(WS_ROOT)/src -I$(VPP_TEST_INSTALL_PATH)/vpp/include -I$(VAPI_BINDIR) -CPPFLAGS = -std=c++11 -g -Wall -pthread -I$(WS_ROOT)/src -I$(VPP_TEST_INSTALL_PATH)/vpp/include -I$(VAPI_BINDIR) -all: $(VAPI_CBIN) $(VAPI_CPPBIN) $(VOM_BINDIR) $(VOM_BIN) +FLAGS = -g -Wall -lstdc++ -pthread -I$(WS_ROOT)/src -I$(VPP_INSTALL_PATH)/vpp/include -I$(VAPI_BINDIR) +CFLAGS = -std=gnu99 $(FLAGS) +CPPFLAGS = -std=c++11 $(FLAGS) -I$(WS_ROOT)/extras/vom $(VAPI_BINDIR): - mkdir -p $(VAPI_BINDIR) + @mkdir -p $(VAPI_BINDIR) -CSRC = vapi_c_test.c +CSRC = $(TEST_EXT_DIR)/vapi_c_test.c $(VAPI_BINDIR)/fake.api.vapi.h: fake.api.json $(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py | $(VAPI_BINDIR) $(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py --prefix $(VAPI_BINDIR) $< @@ -28,21 +27,37 @@ $(VAPI_BINDIR)/fake.api.vapi.h: fake.api.json $(WS_ROOT)/src/vpp-api/vapi/vapi_c $(VAPI_BINDIR)/fake.api.vapi.hpp: fake.api.json $(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py | $(VAPI_BINDIR) $(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py --prefix $(VAPI_BINDIR) $< -$(VAPI_CBIN): $(CSRC) $(VPP_TEST_BUILD_DIR)/vpp/vpp-api/vapi/.libs/libvapiclient.so $(VPP_TEST_BUILD_DIR)/vpp/.libs/libvppinfra.so $(VPP_TEST_BUILD_DIR)/vpp/.libs/libvlibmemoryclient.so $(VPP_TEST_BUILD_DIR)/vpp/.libs/libsvm.so $(VAPI_BINDIR)/fake.api.vapi.h +$(VAPI_CBIN): $(VAPI_BINDIR) $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h $(CC) -o $@ $(CFLAGS) $(CSRC) $(VAPI_LIBS) -CPPSRC = vapi_cpp_test.cpp +$(VAPI_CBIN).d: $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h + $(CC) -o $@ $(CFLAGS) -MM -MT '$(VAPI_CBIN)' $(CSRC) > $@ + + +ifeq ($(filter rhel centos,$(OS_ID)),$(OS_ID)) +VAPI_CPPBIN= +else +CPPSRC = $(TEST_EXT_DIR)/vapi_cpp_test.cpp -$(VAPI_CPPBIN): $(CPPSRC) $(VPP_TEST_BUILD_DIR)/vpp/vpp-api/vapi/.libs/libvapiclient.so $(VPP_TEST_BUILD_DIR)/vpp/.libs/libvppinfra.so $(VPP_TEST_BUILD_DIR)/vpp/.libs/libvlibmemoryclient.so $(VPP_TEST_BUILD_DIR)/vpp/.libs/libsvm.so $(VAPI_BINDIR)/fake.api.vapi.hpp +$(VAPI_CPPBIN): $(VAPI_BINDIR) $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp $(CXX) -o $@ $(CPPFLAGS) $(CPPSRC) $(VAPI_LIBS) -VOM_CPPSRC = vom_test.cpp +$(VAPI_CPPBIN).d: $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp + $(CXX) -o $@ $(CPPFLAGS) -MM -MT '$(VAPI_CPPBIN)' $(CPPSRC) > $@ +endif + +ifneq ($(EXTENDED_TESTS),) +ifeq ($(filter yes y 1,$(EXTENDED_TESTS)),$(EXTENDED_TESTS)) +VOM_BIN = $(addprefix $(VOM_BINDIR), /vom_test) +VOM_CPPSRC = $(TEST_EXT_DIR)/vom_test.cpp $(VOM_BINDIR): - mkdir -p $(VOM_BINDIR) + @mkdir -p $(VOM_BINDIR) -LIB_VOM = $(VPP_TEST_BUILD_DIR)/vpp/vpp-api/vom/.libs/libvom.so -VOM_LIBS = $(LIB_VOM) \ +LIB_VOM = -lvom +VOM_LIBS = \ + -L$(VPP_INSTALL_PATH)/vom/lib \ + -lvom \ -lboost_thread \ -lboost_system \ -lboost_filesystem \ @@ -51,10 +66,30 @@ VOM_LIBS = $(LIB_VOM) \ VOM_CPPFLAGS = \ -I $(WS_ROOT)/src/vpp-api/ \ + -DBOOST_LOG_DYN_LINK \ $(CPPFLAGS) -$(VOM_BIN): $(VOM_CPPSRC) $(VOM_BINDIR) $(LIB_VOM) $(VPP_TEST_BUILD_DIR)/vpp/vpp-api/vapi/.libs/libvapiclient.so - $(CXX) -o $@ $(VOM_CPPFLAGS) -DBOOST_LOG_DYN_LINK -O0 -g $(VOM_CPPSRC) $(VOM_LIBS) +$(VOM_BIN): $(VOM_CPPSRC) $(VOM_BINDIR) + $(CXX) -o $@ $(VOM_CPPFLAGS) -O0 -g $(VOM_CPPSRC) $(VOM_LIBS) -Wl,-rpath,$(VPP_INSTALL_PATH)/vom/lib +$(VOM_BIN).d: $(VOM_CPPSRC) $(VOM_BINDIR) + $(CXX) -o $@ $(VOM_CPPFLAGS) -MM -MT '$(VOM_BIN)' $(VOM_CPPSRC) > $@ +endif +endif + +.PHONY: test-apps +test-apps: $(VAPI_CBIN) $(VAPI_CPPBIN) $(VOM_BIN) + +.PHONY: clean clean: - rm -rf $(VAPI_BINDIR) $(VOM_BINDIR) + @rm -rf $(VAPI_BINDIR) $(VOM_BINDIR) + +ifneq ($(MAKECMDGOALS),clean) +-include $(VAPI_CBIN).d +ifneq ($(VAPI_CPPBIN),) +-include $(VAPI_CPPBIN).d +endif +ifneq ($(VOM_BIN),) +-include $(VOM_BIN).d +endif +endif