From cb034b9b374927c7552e36dcbc306d8456b2a0cb Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 28 Dec 2016 18:38:59 +0100 Subject: Move java,lua api and remaining plugins to src/ Change-Id: I1c3b87e886603678368428ae56a6bd3327cbc90d Signed-off-by: Damjan Marion --- src/examples/sample-plugin/Makefile.am | 56 ++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/examples/sample-plugin/Makefile.am (limited to 'src/examples/sample-plugin/Makefile.am') diff --git a/src/examples/sample-plugin/Makefile.am b/src/examples/sample-plugin/Makefile.am new file mode 100644 index 00000000..e221f8c1 --- /dev/null +++ b/src/examples/sample-plugin/Makefile.am @@ -0,0 +1,56 @@ +# Copyright (c) 2015 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +AUTOMAKE_OPTIONS = foreign subdir-objects + +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 + +sample_plugin_la_SOURCES = sample/sample.c sample/node.c \ + sample/sample_plugin.api.h + +BUILT_SOURCES = sample/sample.api.h sample/sample.api.json + +SUFFIXES = .api.h .api + +%.api.h: %.api + mkdir -p `dirname $@` ; \ + $(CC) $(CPPFLAGS) -E -P -C -x c $^ \ + | vppapigen --input - --output $@ --show-name $@ + +%.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 + +# Remove *.la files +install-data-hook: + @(cd $(vpppluginsdir) && $(RM) $(vppplugins_LTLIBRARIES)) + @(cd $(vppapitestpluginsdir) && $(RM) $(vppapitestplugins_LTLIBRARIES)) -- cgit 1.2.3-korg From a18c7c0d5c117aab65b2be1facd646ec393a1a80 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Tue, 17 Jan 2017 22:38:58 +0100 Subject: sample-plugin: fix build Change-Id: I8a2c91c4148981db31317ef9d2c5c2c28942daa9 Signed-off-by: Damjan Marion --- src/examples/sample-plugin/Makefile.am | 2 +- src/examples/sample-plugin/sample/sample.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/examples/sample-plugin/Makefile.am') diff --git a/src/examples/sample-plugin/Makefile.am b/src/examples/sample-plugin/Makefile.am index e221f8c1..47642055 100644 --- a/src/examples/sample-plugin/Makefile.am +++ b/src/examples/sample-plugin/Makefile.am @@ -41,7 +41,7 @@ SUFFIXES = .api.h .api | vppapigen --input - --json $@ apidir = $(prefix)/sample/ -api_DATA = sample.api.json +api_DATA = sample/sample.api.json noinst_HEADERS = \ sample/sample_all_api_h.h \ diff --git a/src/examples/sample-plugin/sample/sample.h b/src/examples/sample-plugin/sample/sample.h index d268d482..6137ffff 100644 --- a/src/examples/sample-plugin/sample/sample.h +++ b/src/examples/sample-plugin/sample/sample.h @@ -35,6 +35,6 @@ typedef struct { sample_main_t sample_main; -vlib_node_registration_t sample_node; +extern vlib_node_registration_t sample_node; #endif /* __included_sample_h__ */ -- cgit 1.2.3-korg From 006eb478bb7a14ba7ba4199fecce29ebc495fb9c Mon Sep 17 00:00:00 2001 From: Burt Silverman Date: Fri, 27 Jan 2017 15:29:54 -0500 Subject: Add files to CLEANFILES for robust make clean. At the least, $(BUILT_SOURCES) should be added to CLEANFILES. Also beneficial is $(api_DATA), and in the case of Java, *.files and *.h. Also there is a vpp/app/version.h, and some grammar and lex files in vppapigen. Change-Id: Ic6d3f2d40ce65e1d9a8b88217fa1f36de393ebb4 Signed-off-by: Burt Silverman --- src/Makefile.am | 3 +++ src/examples/sample-plugin/Makefile.am | 2 ++ src/plugins/Makefile.am | 1 + src/vpp-api/java/Makefile.am | 2 +- src/vpp.am | 2 ++ src/vppapigen.am | 2 ++ 6 files changed, 11 insertions(+), 1 deletion(-) (limited to 'src/examples/sample-plugin/Makefile.am') diff --git a/src/Makefile.am b/src/Makefile.am index 239afeac..7da86fcb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -28,6 +28,7 @@ noinst_HEADERS = dist_bin_SCRIPTS = lib_LTLIBRARIES = BUILT_SOURCES = +CLEANFILES = install-data-local: @echo "Building vppctl command list..." @DIR_SEARCH="$(srcdir)" ; \ @@ -115,3 +116,5 @@ BUILT_SOURCES += \ endif # if ENABLE_VLIB endif # if ENABLE_SVM + +CLEANFILES += $(BUILT_SOURCES) $(api_DATA) diff --git a/src/examples/sample-plugin/Makefile.am b/src/examples/sample-plugin/Makefile.am index 47642055..a105afdd 100644 --- a/src/examples/sample-plugin/Makefile.am +++ b/src/examples/sample-plugin/Makefile.am @@ -54,3 +54,5 @@ sample_test_plugin_la_SOURCES = sample/sample_test.c sample/sample_plugin.api.h install-data-hook: @(cd $(vpppluginsdir) && $(RM) $(vppplugins_LTLIBRARIES)) @(cd $(vppapitestpluginsdir) && $(RM) $(vppapitestplugins_LTLIBRARIES)) + +CLEANFILES = $(BUILT_SOURCES) diff --git a/src/plugins/Makefile.am b/src/plugins/Makefile.am index f0c455a5..06b575d1 100644 --- a/src/plugins/Makefile.am +++ b/src/plugins/Makefile.am @@ -76,3 +76,4 @@ api_DATA = \ BUILT_SOURCES += \ $(patsubst %.api,%.api.h,$(API_FILES)) +CLEANFILES = $(BUILT_SOURCES) $(api_DATA) diff --git a/src/vpp-api/java/Makefile.am b/src/vpp-api/java/Makefile.am index 3696e5bf..6eb50084 100644 --- a/src/vpp-api/java/Makefile.am +++ b/src/vpp-api/java/Makefile.am @@ -218,7 +218,7 @@ all-local: $(JAR_FILES) # # Cleanup # -CLEANFILES = jvpp-registry.ok $(JAR_FILES) $(BUILT_SOURCES) +CLEANFILES = jvpp-registry.ok $(JAR_FILES) $(BUILT_SOURCES) *.files */*.h clean-local: rm -rf $(CLEANDIRS) diff --git a/src/vpp.am b/src/vpp.am index 0b605ec5..37466c60 100644 --- a/src/vpp.am +++ b/src/vpp.am @@ -132,4 +132,6 @@ bin_vpp_get_metrics_LDADD = \ libvppinfra.la \ -lpthread -lm -lrt +CLEANFILES += vpp/app/version.h + # vi:syntax=automake diff --git a/src/vppapigen.am b/src/vppapigen.am index 3207c83a..5c25e1ec 100644 --- a/src/vppapigen.am +++ b/src/vppapigen.am @@ -27,4 +27,6 @@ vppapigen_SOURCES = tools/vppapigen/gram.y tools/vppapigen/lex_e.c tools/vppapig vppapigen_LDADD = libvppinfra.la vppapigen_LDFLAGS = -static +CLEANFILES += tools/vppapigen/gram.c tools/vppapigen/gram.h +CLEANFILES += tools/vppapigen/lex_e.c # vi:syntax=automake -- cgit 1.2.3-korg From 04f8d3fe25ab8f7088d6817350903197915e7669 Mon Sep 17 00:00:00 2001 From: Anlu Yan Date: Wed, 22 Feb 2017 09:18:11 -0800 Subject: Support multiple plugin build in the sample-plugin This follows the setup in the src/plugins directory, and allows multiple plugin build independent of the main vpp source tree. Change-Id: I9e20f4087d72ad89c6dc3f505bace4628385a40e Signed-off-by: Anlu Yan --- src/examples/sample-plugin/Makefile.am | 35 +++++++++++++++++---------------- src/examples/sample-plugin/configure.ac | 4 +++- src/examples/sample-plugin/sample.am | 31 +++++++++++++++++++++++++++++ 3 files changed, 52 insertions(+), 18 deletions(-) create mode 100644 src/examples/sample-plugin/sample.am (limited to 'src/examples/sample-plugin/Makefile.am') diff --git a/src/examples/sample-plugin/Makefile.am b/src/examples/sample-plugin/Makefile.am index a105afdd..a3a9a8d6 100644 --- a/src/examples/sample-plugin/Makefile.am +++ b/src/examples/sample-plugin/Makefile.am @@ -13,21 +13,22 @@ AUTOMAKE_OPTIONS = foreign subdir-objects -AM_CFLAGS = -Wall +AM_CFLAGS = -Wall -I${top_srcdir} -I${top_builddir} AM_LDFLAGS = -module -shared -avoid-version +AM_LIBTOOLFLAGS = --quiet +SUFFIXES = .api.h .api .api.json +API_FILES = +BUILT_SOURCES = +vppplugins_LTLIBRARIES = +vppapitestplugins_LTLIBRARIES = +noinst_HEADERS = +nobase_apiinclude_HEADERS = +ACLOCAL_AMFLAGS = -I m4 vppapitestpluginsdir = ${libdir}/vpp_api_test_plugins vpppluginsdir = ${libdir}/vpp_plugins -vppapitestplugins_LTLIBRARIES = sample_test_plugin.la -vppplugins_LTLIBRARIES = sample_plugin.la - -sample_plugin_la_SOURCES = sample/sample.c sample/node.c \ - sample/sample_plugin.api.h - -BUILT_SOURCES = sample/sample.api.h sample/sample.api.json - -SUFFIXES = .api.h .api +include sample.am %.api.h: %.api mkdir -p `dirname $@` ; \ @@ -40,15 +41,15 @@ SUFFIXES = .api.h .api $(CC) $(CPPFLAGS) -E -P -C -x c $^ \ | vppapigen --input - --json $@ -apidir = $(prefix)/sample/ -api_DATA = sample/sample.api.json +apidir = $(prefix)/api/plugins +apiincludedir = ${includedir}/vpp_plugins + +api_DATA = \ + $(patsubst %.api,%.api.json,$(API_FILES)) -noinst_HEADERS = \ - sample/sample_all_api_h.h \ - sample/sample_msg_enum.h \ - sample/sample.api.h +BUILT_SOURCES += \ + $(patsubst %.api,%.api.h,$(API_FILES)) -sample_test_plugin_la_SOURCES = sample/sample_test.c sample/sample_plugin.api.h # Remove *.la files install-data-hook: diff --git a/src/examples/sample-plugin/configure.ac b/src/examples/sample-plugin/configure.ac index 43642732..204da2fe 100644 --- a/src/examples/sample-plugin/configure.ac +++ b/src/examples/sample-plugin/configure.ac @@ -1,4 +1,4 @@ -AC_INIT(sample_plugin, 1.0) +AC_INIT(vpp_plugins, 1.0) LT_INIT AM_INIT_AUTOMAKE AM_SILENT_RULES([yes]) @@ -7,3 +7,5 @@ AC_PREFIX_DEFAULT([/usr]) AC_PROG_CC AC_OUTPUT([Makefile]) + +AC_CONFIG_MACRO_DIR([m4]) diff --git a/src/examples/sample-plugin/sample.am b/src/examples/sample-plugin/sample.am new file mode 100644 index 00000000..871b610a --- /dev/null +++ b/src/examples/sample-plugin/sample.am @@ -0,0 +1,31 @@ +# Copyright (c) 2016 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +vppapitestplugins_LTLIBRARIES += sample_test_plugin.la +vppplugins_LTLIBRARIES += sample_plugin.la + +sample_plugin_la_SOURCES = \ + sample/sample.c \ + sample/node.c \ + sample/sample_plugin.api.h + +API_FILES += sample/sample.api + +nobase_apiinclude_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 + +# vi:syntax=automake -- cgit 1.2.3-korg