X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fext%2FMakefile;h=de219b1a5dcc2cac7facfab83227084b2621d0ce;hb=7c03ed4;hp=a188427a62f4caeda6e576b2299c36035f71b620;hpb=dc15be2ca7c51772b00e4c5548934a35aa7e4add;p=vpp.git diff --git a/test/ext/Makefile b/test/ext/Makefile index a188427a62f..de219b1a5dc 100644 --- a/test/ext/Makefile +++ b/test/ext/Makefile @@ -1,31 +1,86 @@ -BINDIR = $(BR)/vapi_test/ -CBIN = $(addprefix $(BINDIR), vapi_c_test) -CPPBIN = $(addprefix $(BINDIR), vapi_cpp_test) +VAPI_BINDIR = $(TEST_DIR)/build/vapi_test/ +VAPI_CBIN = $(addprefix $(VAPI_BINDIR), vapi_c_test) +VAPI_CPPBIN = $(addprefix $(VAPI_BINDIR), vapi_cpp_test) +VOM_BINDIR = $(TEST_DIR)/build/vom_test/ +VOM_BIN = $(addprefix $(VOM_BINDIR), vom_test) -LIBS = -L$(VPP_TEST_BUILD_DIR)/vpp/.libs/ -L$(VPP_TEST_BUILD_DIR)/vpp/vpp-api/vapi/.libs/ -lvppinfra -lvlibmemoryclient -lsvm -lpthread -lcheck -lsubunit -lrt -lm -lvapiclient -CFLAGS = -std=gnu99 -g -Wall -pthread -I$(WS_ROOT)/src -I$(VPP_TEST_INSTALL_PATH)/vpp/include -I$(BINDIR) -CPPFLAGS = -std=c++11 -g -Wall -pthread -I$(WS_ROOT)/src -I$(VPP_TEST_INSTALL_PATH)/vpp/include -I$(BINDIR) +ifeq ($(filter rhel centos,$(OS_ID)),$(OS_ID)) +VAPI_CPPBIN= +endif -all: $(CBIN) $(CPPBIN) +VAPI_LIBS = \ + -L$(VPP_INSTALL_PATH)/vpp/lib \ + -lvppinfra -lvlibmemoryclient -lsvm -lpthread -lcheck -lrt -lm -lvapiclient -$(BINDIR): - mkdir -p $(BINDIR) +ifneq ($(filter centos opensuse opensuse-tumbleweed opensuse-leap,$(OS_ID)),$(OS_ID)) +VAPI_LIBS += -lsubunit +endif + +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 + +all: $(VAPI_CBIN) $(VAPI_CPPBIN) $(VOM_BIN) + +$(VAPI_BINDIR): + mkdir -p $(VAPI_BINDIR) CSRC = vapi_c_test.c -fake.api.vapi.h: fake.api.json $(BINDIR) $(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py - $(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py --prefix $(BINDIR) $< +$(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) $< + +$(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) $< -fake.api.vapi.hpp: fake.api.json $(BINDIR) $(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py - $(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py --prefix $(BINDIR) $< +$(VAPI_CBIN): $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h + $(CC) -o $@ $(CFLAGS) $(CSRC) $(VAPI_LIBS) + +$(VAPI_CBIN).d: $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h + $(CC) -o $@ $(CFLAGS) -MM -MT '$(VAPI_CBIN)' $(CSRC) > $@ -$(CBIN): $(CSRC) $(BINDIR) $(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 fake.api.vapi.h - $(CC) -o $@ $(CFLAGS) $(CSRC) $(LIBS) CPPSRC = vapi_cpp_test.cpp -$(CPPBIN): $(CPPSRC) $(BINDIR) $(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 fake.api.vapi.hpp - $(CXX) -o $@ $(CPPFLAGS) $(CPPSRC) $(LIBS) +$(VAPI_CPPBIN): $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp + $(CXX) -o $@ $(CPPFLAGS) $(CPPSRC) $(VAPI_LIBS) + +$(VAPI_CPPBIN).d: $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp + $(CXX) -o $@ $(CPPFLAGS) -MM -MT '$(VAPI_CPPBIN)' $(CPPSRC) > $@ + +VOM_CPPSRC = vom_test.cpp + +$(VOM_BINDIR): + mkdir -p $(VOM_BINDIR) + +LIB_VOM = -lvom +VOM_LIBS = \ + -L$(VPP_INSTALL_PATH)/vom/lib \ + -lvom \ + -lboost_thread \ + -lboost_system \ + -lboost_filesystem \ + -lboost_unit_test_framework \ + $(VAPI_LIBS) + +VOM_CPPFLAGS = \ + -I $(WS_ROOT)/src/vpp-api/ \ + -DBOOST_LOG_DYN_LINK \ + $(CPPFLAGS) + +$(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) > $@ + clean: - rm -rf $(BINDIR) + rm -rf $(VAPI_BINDIR) $(VOM_BINDIR) + +ifneq ($(MAKECMDGOALS),clean) +-include $(VAPI_CPPBIN).d +-include $(VAPI_CBIN).d +-include $(VOM_BIN).d +endif +