1 TEST_EXT_DIR=$(TEST_DIR)/ext
2 VAPI_BINDIR = $(TEST_BR)/vapi_test
3 VAPI_CBIN = $(addprefix $(VAPI_BINDIR), /vapi_c_test)
4 VAPI_CPPBIN = $(addprefix $(VAPI_BINDIR), /vapi_cpp_test)
7 -L$(VPP_INSTALL_PATH)/vpp/lib \
8 -lvppinfra -lvlibmemoryclient -lsvm -lpthread -lcheck -lrt -lm -lvapiclient
10 ifneq ($(filter centos,$(OS_ID)),$(OS_ID))
11 VAPI_LIBS += -lsubunit
14 FLAGS = -g -Wall -lstdc++ -pthread -I$(WS_ROOT)/src -I$(VPP_INSTALL_PATH)/vpp/include -I$(VAPI_BINDIR)
15 CFLAGS = -std=gnu99 $(FLAGS)
16 CPPFLAGS = -std=c++11 $(FLAGS)
19 @mkdir -p $(VAPI_BINDIR)
21 CSRC = $(TEST_EXT_DIR)/vapi_c_test.c
23 $(VAPI_BINDIR)/fake.api.vapi.h: fake.api.json $(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py | $(VAPI_BINDIR)
24 $(WS_ROOT)/src/vpp-api/vapi/vapi_c_gen.py --prefix $(VAPI_BINDIR) $<
26 $(VAPI_BINDIR)/fake.api.vapi.hpp: fake.api.json $(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py | $(VAPI_BINDIR)
27 $(WS_ROOT)/src/vpp-api/vapi/vapi_cpp_gen.py --prefix $(VAPI_BINDIR) $<
29 $(VAPI_CBIN): $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h | $(VAPI_BINDIR)
30 $(CC) -o $@ $(CFLAGS) $(CSRC) $(VAPI_LIBS)
32 $(VAPI_CBIN).d: $(CSRC) $(VAPI_BINDIR)/fake.api.vapi.h
33 $(CC) -o $@ $(CFLAGS) -MM -MT '$(VAPI_CBIN)' $(CSRC) > $@
36 ifeq ($(filter rhel centos,$(OS_ID)),$(OS_ID) AND $(OS_VERSION_ID),7)
39 CPPSRC = $(TEST_EXT_DIR)/vapi_cpp_test.cpp
41 $(VAPI_CPPBIN): $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp | $(VAPI_BINDIR)
42 $(CXX) -o $@ $(CPPFLAGS) $(CPPSRC) $(VAPI_LIBS)
44 $(VAPI_CPPBIN).d: $(CPPSRC) $(VAPI_BINDIR)/fake.api.vapi.hpp
45 $(CXX) -o $@ $(CPPFLAGS) -MM -MT '$(VAPI_CPPBIN)' $(CPPSRC) > $@
49 test-apps: $(VAPI_CBIN) $(VAPI_CPPBIN)
53 @rm -rf $(VAPI_BINDIR)
55 ifneq ($(MAKECMDGOALS),clean)
56 -include $(VAPI_CBIN).d
57 ifneq ($(VAPI_CPPBIN),)
58 -include $(VAPI_CPPBIN).d