Merging all ioam plugin libraries to single library
[vpp.git] / src / plugins / ioam.am
index a4984b1..a2b298b 100644 (file)
 # iOAM Proof of Transit
 ########################################
 
-ioam_pot_plugin_la_SOURCES =                   \
+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
 
-noinst_HEADERS +=                              \
+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
 
-API_FILES += ioam/lib-pot/pot.api
+IOAM_POT_API = ioam/lib-pot/pot.api
 
 ioam_pot_test_plugin_la_SOURCES =              \
        ioam/lib-pot/pot_test.c                 \
        ioam/lib-pot/pot_plugin.api.h
 
 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_SRC =                \
 ioam/export/ioam_export.c         \
 ioam/export/node.c                \
 ioam/export/ioam_export.api.h     \
 ioam/export/ioam_export_thread.c
 
-noinst_HEADERS +=                       \
+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
 
-API_FILES += ioam/export/ioam_export.api
+IOAM_EXPORT_API = ioam/export/ioam_export.api
 
 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
 
-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_util.h
 
-API_FILES += ioam/lib-trace/trace.api
+IOAM_TRACE_API = ioam/lib-trace/trace.api
 
 ioam_trace_test_plugin_la_SOURCES =            \
        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_VXLAN_GPE_SRC =                                   \
        ioam/lib-vxlan-gpe/ioam_encap.c                 \
        ioam/lib-vxlan-gpe/ioam_decap.c                 \
        ioam/lib-vxlan-gpe/ioam_transit.c               \
@@ -104,27 +101,26 @@ libioam_vxlan_gpe_plugin_la_SOURCES =                     \
        ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api.h\
        ioam/export-vxlan-gpe/vxlan_gpe_ioam_export_thread.c
 
-noinst_HEADERS +=                       \
-  ioam/export/ioam_export_all_api_h.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/ioam_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/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
 
-API_FILES += ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api
-API_FILES += ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api
+IOAM_VXLAN_GPE_API  = ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api
+IOAM_VXLAN_GPE_API += ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api
 
 ioam_vxlan_gpe_test_plugin_la_SOURCES =                \
        ioam/lib-vxlan-gpe/vxlan_gpe_test.c                     \
        ioam/lib-vxlan-gpe/vxlan_gpe_plugin.api.h
 
 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      \
@@ -136,15 +132,39 @@ vppapitestplugins_LTLIBRARIES += vxlan_gpe_ioam_export_test_plugin.la
 # iOAM E2E plugin
 ########################################
 
-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_E2E_NOINST_HDR =                   \
        ioam/encap/ip6_ioam_e2e.h        \
        ioam/encap/ip6_ioam_seqno.h
 
-vppplugins_LTLIBRARIES += ioam_e2e_plugin.la
+########################################
+# iOAM plugins
+########################################
+
+ioam_plugin_la_SOURCES =               \
+        $(IOAM_POT_SRC)                 \
+        $(IOAM_EXPORT_SRC)              \
+        $(IOAM_TRACE_SRC)               \
+        $(IOAM_VXLAN_GPE_SRC)          \
+        $(IOAM_E2E_SRC)
+
+API_FILES +=                           \
+        $(IOAM_POT_API)                 \
+        $(IOAM_EXPORT_API)              \
+        $(IOAM_TRACE_API)               \
+        $(IOAM_VXLAN_GPE_API)
+
+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
 
 # vi:syntax=automake