summaryrefslogtreecommitdiffstats
path: root/plugins/ioam-plugin/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/ioam-plugin/Makefile.am')
-rw-r--r--plugins/ioam-plugin/Makefile.am189
1 files changed, 105 insertions, 84 deletions
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
#