# Copyright (c) 2016 Cisco Systems, Inc.
# 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 += dpdk_test_plugin.la
vppplugins_LTLIBRARIES += dpdk_plugin.la

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_AESNI_MB_LIB
dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libIPSec_MB.a,-l:libIPSec_MB.a
endif
if WITH_ISA_L_CRYPTO_LIB
dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libisal_crypto.a,-l:libisal_crypto.a
endif
if WITH_IBVERBS_LIB
dpdk_plugin_la_LDFLAGS += -Wl,-libverbs
endif
if DPDK_IS_1702_OR_1705
dpdk_plugin_la_CFLAGS = $(AM_CFLAGS) -DDPDK_VOID_CALLBACK=1 -DDPDK_NO_AEAD=1
else
dpdk_plugin_la_CFLAGS = $(AM_CFLAGS) -DDPDK_VOID_CALLBACK=0 -DDPDK_NO_AEAD=0
dpdk_plugin_la_LDFLAGS += -Wl,-lnuma
endif

dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl

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						\
  dpdk/device/init.c						\
  dpdk/device/node.c						\
  dpdk/hqos/hqos.c						\
  dpdk/ipsec/esp_encrypt.c					\
  dpdk/ipsec/esp_decrypt.c					\
  dpdk/ipsec/crypto_node.c					\
  dpdk/ipsec/cli.c						\
  dpdk/ipsec/ipsec.c						\
  dpdk/api/dpdk_plugin.api.h

API_FILES += dpdk/api/dpdk.api

nobase_include_HEADERS +=					\
  dpdk/device/dpdk.h						\
  dpdk/api/dpdk_all_api_h.h					\
  dpdk/ipsec/ipsec.h

dpdk_test_plugin_la_SOURCES = 					\
  dpdk/api/dpdk_test.c dpdk/api/dpdk_plugin.api.h

# vi:syntax=automake