aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/dpdk.am
blob: 01655667290b0d821308d02d0ee322a16a8bc3e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# 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)
if WITH_LIBNUMA
dpdk_plugin_la_LDFLAGS += -Wl,-lnuma
endif

if WITH_DPDK_MLX5_PMD
dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl,-lmnl
else
dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
endif
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/flow.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_sources = 					\
	dpdk/buffer.c						\
	dpdk/device/node.c					\
	dpdk/device/device.c

if CC_SUPPORTS_AVX2
###############################################################
# AVX2
###############################################################
libdpdk_plugin_avx2_la_SOURCES = $(dpdk_multiversioning_sources)
libdpdk_plugin_avx2_la_CFLAGS =					\
	$(AM_CFLAGS)  @CPU_AVX2_FLAGS@				\
	-DCLIB_MARCH_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_sources)
libdpdk_plugin_avx512_la_CFLAGS =				\
	$(AM_CFLAGS) @CPU_AVX512_FLAGS@				\
	-DCLIB_MARCH_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