API: Packaging of JSON files.
[vpp.git] / plugins / sample-plugin / Makefile.am
index 2b47717..e221f8c 100644 (file)
 
 AUTOMAKE_OPTIONS = foreign subdir-objects
 
-AM_CFLAGS = -Wall -I@TOOLKIT_INCLUDE@
+AM_CFLAGS = -Wall
+AM_LDFLAGS = -module -shared -avoid-version
+
+vppapitestpluginsdir = ${libdir}/vpp_api_test_plugins
+vpppluginsdir = ${libdir}/vpp_plugins
+
+vppapitestplugins_LTLIBRARIES = sample_test_plugin.la
+vppplugins_LTLIBRARIES = sample_plugin.la
 
-lib_LTLIBRARIES = sample_plugin.la sample_test_plugin.la
 sample_plugin_la_SOURCES = sample/sample.c sample/node.c \
-       sample/sample_plugin.api.h 
-sample_plugin_la_LDFLAGS = -module
+       sample/sample_plugin.api.h
 
-BUILT_SOURCES = sample/sample.api.h
+BUILT_SOURCES = sample/sample.api.h sample/sample.api.json
 
 SUFFIXES = .api.h .api
 
@@ -29,19 +34,23 @@ SUFFIXES = .api.h .api
        $(CC) $(CPPFLAGS) -E -P -C -x c $^ \
        | vppapigen --input - --output $@ --show-name $@
 
-nobase_include_HEADERS =                       \
+%.api.json: %.api
+       @echo "  JSON APIGEN  " $@ ;                            \
+       mkdir -p `dirname $@` ;                                 \
+       $(CC) $(CPPFLAGS) -E -P -C -x c $^                      \
+       | vppapigen --input - --json $@
+
+apidir = $(prefix)/sample/
+api_DATA = sample.api.json
+
+noinst_HEADERS =                               \
   sample/sample_all_api_h.h                    \
   sample/sample_msg_enum.h                     \
   sample/sample.api.h
 
 sample_test_plugin_la_SOURCES = sample/sample_test.c sample/sample_plugin.api.h
-sample_test_plugin_la_LDFLAGS = -module
 
-if WITH_PLUGIN_TOOLKIT
+# Remove *.la files
 install-data-hook:
-       mkdir /usr/lib/vpp_plugins || true
-       mkdir /usr/lib/vpp_api_test_plugins || true
-       cp $(prefix)/lib/sample_plugin.so.*.*.* /usr/lib/vpp_plugins
-       cp $(prefix)/lib/sample_test_plugin.so.*.*.* \
-               /usr/lib/vpp_api_test_plugins
-endif
+       @(cd $(vpppluginsdir) && $(RM) $(vppplugins_LTLIBRARIES))
+       @(cd $(vppapitestpluginsdir) && $(RM) $(vppapitestplugins_LTLIBRARIES))