vppapitestplugins_LTLIBRARIES += dpdk_test_plugin.la
vppplugins_LTLIBRARIES += dpdk_plugin.la
-dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive,-lm,-ldl
+if ENABLE_DPDK_SHARED
+dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -ldpdk
+else
+dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive
+endif
+if WITH_DPDK_AESNI_MB_PMD
+dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libIPSec_MB.a,-l:libIPSec_MB.a
+endif
+if WITH_DPDK_AESNI_GCM_PMD
+dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libisal_crypto.a,-l:libisal_crypto.a
+endif
+dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
+if WITH_DPDK_MLX5_PMD
+dpdk_plugin_la_LDFLAGS += -Wl,-libverbs
+endif
+if WITH_DPDK_MLX4_PMD
+dpdk_plugin_la_LDFLAGS += -Wl,-libverbs
+endif
dpdk_plugin_la_SOURCES = \
dpdk/main.c \
dpdk/buffer.c \
dpdk/thread.c \
+ dpdk/api/dpdk_api.c \
dpdk/device/cli.c \
+ dpdk/device/common.c \
dpdk/device/dpdk_priv.h \
dpdk/device/device.c \
dpdk/device/format.c \