From e4e9fbbb7c8fa4385ae31072d60ad8621fe798a4 Mon Sep 17 00:00:00 2001 From: AkshayaNadahalli Date: Fri, 23 Dec 2016 17:46:08 +0530 Subject: Merging all ioam plugin libraries to single library Change-Id: I33a646ba45848c7400df4271e4933e28e62c9ad7 Signed-off-by: AkshayaNadahalli --- plugins/ioam-plugin/Makefile.am | 189 ++++++++++++++++++++++------------------ 1 file changed, 105 insertions(+), 84 deletions(-) (limited to 'plugins/ioam-plugin/Makefile.am') diff --git a/plugins/ioam-plugin/Makefile.am b/plugins/ioam-plugin/Makefile.am index 9a87767518e..ac2421d9305 100644 --- a/plugins/ioam-plugin/Makefile.am +++ b/plugins/ioam-plugin/Makefile.am @@ -17,20 +17,8 @@ AM_CFLAGS = -Wall AM_LDFLAGS = -module -shared -avoid-version ######################################## -# iOAM Proof of Transit +# iOAM APIs ######################################## - -ioam_pot_plugin_la_SOURCES = \ - ioam/lib-pot/pot_util.c \ - ioam/encap/ip6_ioam_pot.c \ - ioam/lib-pot/pot_util.h \ - ioam/lib-pot/math64.h \ - ioam/lib-pot/pot_api.c - -BUILT_SOURCES = \ - ioam/lib-pot/pot.api.h \ - ioam/lib-pot/pot.api.json - SUFFIXES = .api.h .api %.api.h: %.api @@ -39,129 +27,135 @@ SUFFIXES = .api.h .api | vppapigen --input - --output $@ --show-name $@ %.api.json: %.api - @echo " JSON APIGEN " $@ ; \ + @echo " JSON APIGEN " $@ ; \ mkdir -p `dirname $@` ; \ - $(CC) $(CPPFLAGS) -E -P -C -x c $^ \ + $(CC) $(CPPFLAGS) -E -P -C -x c $^ \ | vppapigen --input - --json $@ apidir = $(prefix)/ioam/ -api_DATA = \ - ioam/lib-pot/pot.api.json \ +api_DATA = \ + ioam/lib-pot/pot.api.json \ ioam/lib-trace/trace.api.json \ ioam/export/ioam_export.api.json -noinst_HEADERS = \ - ioam/lib-pot/pot_all_api_h.h \ - ioam/lib-pot/pot_msg_enum.h \ - ioam/lib-pot/pot.api.h \ - ioam/lib-pot/pot_util.h \ - ioam/lib-pot/math64.h +######################################## +# iOAM Proof of Transit +######################################## + +IOAM_POT_SRC = \ + ioam/lib-pot/pot_util.c \ + ioam/encap/ip6_ioam_pot.c \ + ioam/lib-pot/pot_util.h \ + ioam/lib-pot/math64.h \ + ioam/lib-pot/pot_api.c + +IOAM_POT_BUILT_SRC = \ + ioam/lib-pot/pot.api.h \ + ioam/lib-pot/pot.api.json + +IOAM_POT_NOINST_HDR = \ + ioam/lib-pot/pot_all_api_h.h \ + ioam/lib-pot/pot_msg_enum.h \ + ioam/lib-pot/pot.api.h \ + ioam/lib-pot/pot_util.h \ + ioam/lib-pot/math64.h -ioam_pot_test_plugin_la_SOURCES = \ +ioam_pot_test_plugin_la_SOURCES = \ ioam/lib-pot/pot_test.c \ ioam/lib-pot/pot_plugin.api.h -vppapitestpluginsdir = ${libdir}/vpp_api_test_plugins -vpppluginsdir = ${libdir}/vpp_plugins - vppapitestplugins_LTLIBRARIES = ioam_pot_test_plugin.la -vppplugins_LTLIBRARIES = ioam_pot_plugin.la ######################################## # iOAM trace export for IPv6 ######################################## -ioam_export_plugin_la_SOURCES = \ -ioam/export/ioam_export.c \ -ioam/export/node.c \ -ioam/export/ioam_export.api.h \ -ioam/export/ioam_export_thread.c +IOAM_EXPORT_SRC = \ + ioam/export/ioam_export.c \ + ioam/export/node.c \ + ioam/export/ioam_export.api.h \ + ioam/export/ioam_export_thread.c -BUILT_SOURCES += \ +IOAM_EXPORT_BUILT_SRC = \ ioam/export/ioam_export.api.h \ ioam/export/ioam_export.api.json -noinst_HEADERS += \ - ioam/export/ioam_export_all_api_h.h \ - ioam/export/ioam_export_msg_enum.h \ - ioam/export/ioam_export.api.h +IOAM_EXPORT_NOINST_HDR = \ + ioam/export/ioam_export_all_api_h.h \ + ioam/export/ioam_export_msg_enum.h \ + ioam/export/ioam_export.api.h -ioam_export_test_plugin_la_SOURCES = \ - ioam/export/ioam_export_test.c \ - ioam/export/ioam_export_plugin.api.h +ioam_export_test_plugin_la_SOURCES = \ + ioam/export/ioam_export_test.c \ + ioam/export/ioam_export_plugin.api.h vppapitestplugins_LTLIBRARIES += ioam_export_test_plugin.la -vppplugins_LTLIBRARIES += ioam_export_plugin.la ######################################## # iOAM Trace ######################################## -libioam_trace_plugin_la_SOURCES = \ +IOAM_TRACE_SRC = \ ioam/lib-trace/trace_util.c \ ioam/encap/ip6_ioam_trace.c \ ioam/lib-trace/trace_util.h \ ioam/lib-trace/trace_api.c -BUILT_SOURCES += \ +IOAM_TRACE_BUILT_SRC = \ ioam/lib-trace/trace.api.h \ ioam/lib-trace/trace.api.json -noinst_HEADERS += \ +IOAM_TRACE_NOINST_HDR = \ ioam/export/ioam_export_all_api_h.h \ - ioam/lib-trace/trace_all_api_h.h \ - ioam/lib-trace/trace_msg_enum.h \ - ioam/lib-trace/trace.api.h \ + ioam/lib-trace/trace_all_api_h.h \ + ioam/lib-trace/trace_msg_enum.h \ + ioam/lib-trace/trace.api.h \ ioam/lib-trace/trace_util.h ioam_trace_test_plugin_la_SOURCES = \ - ioam/lib-trace/trace_test.c \ + ioam/lib-trace/trace_test.c \ ioam/lib-trace/trace_plugin.api.h vppapitestplugins_LTLIBRARIES += ioam_trace_test_plugin.la -vppplugins_LTLIBRARIES += libioam_trace_plugin.la ######################################## # VxLAN-GPE ######################################## -libioam_vxlan_gpe_plugin_la_SOURCES = \ - ioam/lib-vxlan-gpe/ioam_encap.c \ - ioam/lib-vxlan-gpe/ioam_decap.c \ - ioam/lib-vxlan-gpe/ioam_transit.c \ - ioam/lib-vxlan-gpe/ioam_pop.c \ - ioam/lib-vxlan-gpe/vxlan_gpe_api.c \ - ioam/lib-vxlan-gpe/vxlan_gpe_ioam_trace.c \ - ioam/lib-vxlan-gpe/vxlan_gpe_ioam.c \ - ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.c \ - ioam/export-vxlan-gpe/vxlan_gpe_node.c \ - ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h\ +IOAM_VXLAN_GPE_SRC = \ + ioam/lib-vxlan-gpe/ioam_encap.c \ + ioam/lib-vxlan-gpe/ioam_decap.c \ + ioam/lib-vxlan-gpe/ioam_transit.c \ + ioam/lib-vxlan-gpe/ioam_pop.c \ + ioam/lib-vxlan-gpe/vxlan_gpe_api.c \ + ioam/lib-vxlan-gpe/vxlan_gpe_ioam_trace.c \ + ioam/lib-vxlan-gpe/vxlan_gpe_ioam.c \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.c \ + ioam/export-vxlan-gpe/vxlan_gpe_node.c \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h \ ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_thread.c -BUILT_SOURCES += \ - ioam/lib-vxlan-gpe/vxlan_gpe.api.h \ - ioam/lib-vxlan-gpe/vxlan_gpe.api.json \ +IOAM_VXLAN_GPE_BUILT_SRC = \ + ioam/lib-vxlan-gpe/vxlan_gpe.api.h \ + ioam/lib-vxlan-gpe/vxlan_gpe.api.json \ ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h \ ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.json -noinst_HEADERS += \ - ioam/export/ioam_export_all_api_h.h \ - ioam/lib-vxlan-gpe/vxlan_gpe_all_api_h.h \ - ioam/lib-vxlan-gpe/vxlan_gpe_msg_enum.h \ - ioam/lib-vxlan-gpe/vxlan_gpe.api.h \ - ioam/lib-vxlan-gpe/vxlan_gpe_ioam_util.h \ - ioam/lib-vxlan-gpe/vxlan_gpe_ioam_packet.h \ - ioam/lib-vxlan-gpe/vxlan_gpe_ioam.h \ - ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_all_api_h.h \ - ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_msg_enum.h \ +IOAM_VXLAN_GPE_NOINST_HDR = \ + ioam/export/ioam_export_all_api_h.h \ + ioam/lib-vxlan-gpe/vxlan_gpe_all_api_h.h \ + ioam/lib-vxlan-gpe/vxlan_gpe_msg_enum.h \ + ioam/lib-vxlan-gpe/vxlan_gpe.api.h \ + ioam/lib-vxlan-gpe/vxlan_gpe_ioam_util.h \ + ioam/lib-vxlan-gpe/vxlan_gpe_ioam_packet.h \ + ioam/lib-vxlan-gpe/vxlan_gpe_ioam.h \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_all_api_h.h \ + ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_msg_enum.h \ ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h -ioam_vxlan_gpe_test_plugin_la_SOURCES = \ +ioam_vxlan_gpe_test_plugin_la_SOURCES = \ ioam/lib-vxlan-gpe/vxlan_gpe_test.c \ ioam/lib-vxlan-gpe/vxlan_gpe_plugin.api.h -libioam_vxlan_gpe_plugin_la_LIBADD = libioam_trace_plugin.la - vppapitestplugins_LTLIBRARIES += ioam_vxlan_gpe_test_plugin.la -vppplugins_LTLIBRARIES += libioam_vxlan_gpe_plugin.la vxlan_gpe_ioam_export_test_plugin_la_SOURCES = \ ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_test.c \ @@ -170,26 +164,53 @@ vxlan_gpe_ioam_export_test_plugin_la_SOURCES = \ vppapitestplugins_LTLIBRARIES += vxlan_gpe_ioam_export_test_plugin.la ######################################## -# iOAM E2E plugin +# iOAM E2E ######################################## -ioam_e2e_plugin_la_SOURCES = \ +IOAM_E2E_SRC = \ ioam/encap/ip6_ioam_e2e.c \ ioam/encap/ip6_ioam_seqno.c \ ioam/encap/ip6_ioam_seqno_analyse.c -noinst_HEADERS += \ - ioam/encap/ip6_ioam_e2e.h \ +IOAM_E2E_BUILT_SRC = \ + ioam/encap/ip6_ioam_e2e.h \ ioam/encap/ip6_ioam_seqno.h -vppplugins_LTLIBRARIES += ioam_e2e_plugin.la +######################################## +# iOAM plugins +######################################## + +vppapitestpluginsdir = ${libdir}/vpp_api_test_plugins +vpppluginsdir = ${libdir}/vpp_plugins + +ioam_plugin_la_SOURCES = \ + $(IOAM_POT_SRC) \ + $(IOAM_EXPORT_SRC) \ + $(IOAM_TRACE_SRC) \ + $(IOAM_VXLAN_GPE_SRC) \ + $(IOAM_E2E_SRC) + +BUILT_SOURCES = \ + $(IOAM_POT_BUILT_SRC) \ + $(IOAM_EXPORT_BUILT_SRC) \ + $(IOAM_TRACE_BUILT_SRC) \ + $(IOAM_VXLAN_GPE_BUILT_SRC) \ + $(IOAM_E2E_BUILT_SRC) + +noinst_HEADERS = \ + $(IOAM_POT_NOINST_HDR) \ + $(IOAM_EXPORT_NOINST_HDR) \ + $(IOAM_TRACE_NOINST_HDR) \ + $(IOAM_VXLAN_GPE_NOINST_HDR) \ + $(IOAM_E2E_NOINST_HDR) + +vppplugins_LTLIBRARIES = ioam_plugin.la # Remove *.la files install-data-hook: @(cd $(vpppluginsdir) && $(RM) $(vppplugins_LTLIBRARIES)) @(cd $(vppapitestpluginsdir) && $(RM) $(vppapitestplugins_LTLIBRARIES)) - # # Java code generation # -- cgit 1.2.3-korg