cmake: add missing vat plugins
[vpp.git] / src / plugins / dpdk.am
1 # Copyright (c) 2016 Cisco Systems, Inc.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 vppapitestplugins_LTLIBRARIES += dpdk_test_plugin.la
15 vppplugins_LTLIBRARIES += dpdk_plugin.la
16
17 if ENABLE_DPDK_SHARED
18 dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -ldpdk
19 else
20 dpdk_plugin_la_LDFLAGS = $(AM_LDFLAGS) -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive
21 endif
22 if WITH_AESNI_MB_LIB
23 dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libIPSec_MB.a,-l:libIPSec_MB.a
24 endif
25 if WITH_ISA_L_CRYPTO_LIB
26 dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libisal_crypto.a,-l:libisal_crypto.a
27 endif
28 dpdk_plugin_la_CFLAGS = $(AM_CFLAGS)
29 if WITH_LIBNUMA
30 dpdk_plugin_la_LDFLAGS += -Wl,-lnuma
31 endif
32
33 if WITH_DPDK_MLX5_PMD
34 dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl,-lmnl
35 else
36 dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
37 endif
38 dpdk_plugin_la_LIBADD =
39
40 dpdk_plugin_la_SOURCES =                                        \
41   dpdk/main.c                                                   \
42   dpdk/buffer.c                                                 \
43   dpdk/thread.c                                                 \
44   dpdk/api/dpdk_api.c                                           \
45   dpdk/device/cli.c                                             \
46   dpdk/device/common.c                                          \
47   dpdk/device/flow.c                                            \
48   dpdk/device/dpdk_priv.h                                       \
49   dpdk/device/device.c                                          \
50   dpdk/device/format.c                                          \
51   dpdk/device/init.c                                            \
52   dpdk/device/node.c                                            \
53   dpdk/hqos/hqos.c                                              \
54   dpdk/ipsec/esp_encrypt.c                                      \
55   dpdk/ipsec/esp_decrypt.c                                      \
56   dpdk/ipsec/crypto_node.c                                      \
57   dpdk/ipsec/cli.c                                              \
58   dpdk/ipsec/ipsec.c                                            \
59   dpdk/api/dpdk_plugin.api.h
60
61 API_FILES += dpdk/api/dpdk.api
62
63 if CPU_X86_64
64 dpdk_multiversioning_sources =                                  \
65         dpdk/buffer.c                                           \
66         dpdk/device/node.c                                      \
67         dpdk/device/device.c
68
69 if CC_SUPPORTS_AVX2
70 ###############################################################
71 # AVX2
72 ###############################################################
73 libdpdk_plugin_avx2_la_SOURCES = $(dpdk_multiversioning_sources)
74 libdpdk_plugin_avx2_la_CFLAGS =                                 \
75         $(AM_CFLAGS)  @CPU_AVX2_FLAGS@                          \
76         -DCLIB_MARCH_VARIANT=avx2
77 noinst_LTLIBRARIES += libdpdk_plugin_avx2.la
78 dpdk_plugin_la_LIBADD += libdpdk_plugin_avx2.la
79 endif
80
81 if CC_SUPPORTS_AVX512
82 ###############################################################
83 # AVX512
84 ###############################################################
85 libdpdk_plugin_avx512_la_SOURCES = $(dpdk_multiversioning_sources)
86 libdpdk_plugin_avx512_la_CFLAGS =                               \
87         $(AM_CFLAGS) @CPU_AVX512_FLAGS@                         \
88         -DCLIB_MARCH_VARIANT=avx512
89 noinst_LTLIBRARIES += libdpdk_plugin_avx512.la
90 dpdk_plugin_la_LIBADD += libdpdk_plugin_avx512.la
91 endif
92 endif
93
94 nobase_include_HEADERS +=                                       \
95   dpdk/device/dpdk.h                                            \
96   dpdk/api/dpdk_all_api_h.h                                     \
97   dpdk/ipsec/ipsec.h
98
99 dpdk_test_plugin_la_SOURCES =                                   \
100   dpdk/api/dpdk_test.c dpdk/api/dpdk_plugin.api.h
101
102 # vi:syntax=automake