libvlibapi_la_SOURCES = \
vlibapi/api.h \
+ vlibapi/api_helper_macros.h \
vlibapi/api_shared.c \
vlibapi/node_serialize.c
-nobase_include_HEADERS = vlibapi/api.h
+nobase_include_HEADERS = vlibapi/api.h vlibapi/api_helper_macros.h
libvlibmemory_la_SOURCES = \
vlibmemory/api.h \
vlibsocket/vl_socket_msg_enum.h \
vlibsocket/sockclnt.api.h
-noinst_PROGRAMS = sock_test
+BUILT_SOURCES = \
+ vlibsocket/sockclnt.api.h \
+ vlibmemory/memclnt.api.h \
+ vlibmemory/memclnt.api.json
-sock_test_SOURCES = vlibsocket/sock_test.c
-sock_test_LDADD =
+SUFFIXES = .api.h .api .api.json
-BUILT_SOURCES = vlibsocket/sockclnt.api.h vlibmemory/memclnt.api.h
+# The actual %.api.h rule is in .../build-data/packages/suffix-rules.mk
+# and requires a symbolic link at the top of the vnet source tree
-SUFFIXES = .api.h .api
+include $(top_srcdir)/suffix-rules.mk
-%.api.h: %.api
- @echo " APIGEN " $@ ; \
- mkdir -p `dirname $@` ; \
- $(CC) $(CPPFLAGS) -E -P -C -x c $^ \
- | vppapigen --input - --output $@ --show-name $@
+# install the API definition, so we can produce java bindings, etc.
+apidir = $(prefix)/vlibmemory
+api_DATA = vlibmemory/memclnt.api.json