API refactoring : netmap
[vpp.git] / vlib-api / Makefile.am
index 150894e..d9f4a27 100644 (file)
@@ -20,10 +20,11 @@ lib_LTLIBRARIES = libvlibapi.la libvlibmemory.la libvlibmemoryclient.la \
 
 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                        \
@@ -66,17 +67,18 @@ nobase_include_HEADERS +=                   \
        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