blob: 10f2fe4aaba63e8b47f486a0a4bda756997047be [file] [log] [blame]
# 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
dpdk_plugin_la_CFLAGS = $(AM_CFLAGS)
dpdk_plugin_la_LDFLAGS += -Wl,-lnuma
dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
dpdk_plugin_la_LIBADD =
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
if CPU_X86_64
dpdk_multiversioning_files = \
dpdk/buffer.c \
dpdk/device/node.c \
dpdk/device/device.c
if CC_SUPPORTS_AVX2
###############################################################
# AVX2
###############################################################
libdpdk_plugin_avx2_la_SOURCES = $(dpdk_multiversioning_files)
libdpdk_plugin_avx2_la_CFLAGS = \
$(AM_CFLAGS) @CPU_AVX2_FLAGS@ \
-DCLIB_MULTIARCH_VARIANT=avx2
noinst_LTLIBRARIES += libdpdk_plugin_avx2.la
dpdk_plugin_la_LIBADD += libdpdk_plugin_avx2.la
endif
if CC_SUPPORTS_AVX512
###############################################################
# AVX512
###############################################################
libdpdk_plugin_avx512_la_SOURCES = $(dpdk_multiversioning_files)
libdpdk_plugin_avx512_la_CFLAGS = \
$(AM_CFLAGS) @CPU_AVX512_FLAGS@ \
-DCLIB_MULTIARCH_VARIANT=avx512
noinst_LTLIBRARIES += libdpdk_plugin_avx512.la
dpdk_plugin_la_LIBADD += libdpdk_plugin_avx512.la
endif
endif
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