acl-plugin: add the support for dumping the ethertype whitelist (VPP-1163)
[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 dpdk_plugin_la_LDFLAGS += -Wl,-lnuma
30
31 dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
32 dpdk_plugin_la_LIBADD =
33
34 dpdk_plugin_la_SOURCES =                                        \
35   dpdk/main.c                                                   \
36   dpdk/buffer.c                                                 \
37   dpdk/thread.c                                                 \
38   dpdk/api/dpdk_api.c                                           \
39   dpdk/device/cli.c                                             \
40   dpdk/device/common.c                                          \
41   dpdk/device/dpdk_priv.h                                       \
42   dpdk/device/device.c                                          \
43   dpdk/device/format.c                                          \
44   dpdk/device/init.c                                            \
45   dpdk/device/node.c                                            \
46   dpdk/hqos/hqos.c                                              \
47   dpdk/ipsec/esp_encrypt.c                                      \
48   dpdk/ipsec/esp_decrypt.c                                      \
49   dpdk/ipsec/crypto_node.c                                      \
50   dpdk/ipsec/cli.c                                              \
51   dpdk/ipsec/ipsec.c                                            \
52   dpdk/api/dpdk_plugin.api.h
53
54 API_FILES += dpdk/api/dpdk.api
55
56 if CPU_X86_64
57 dpdk_multiversioning_files =                                    \
58         dpdk/buffer.c                                           \
59         dpdk/device/node.c                                      \
60         dpdk/device/device.c
61
62 if CC_SUPPORTS_AVX2
63 ###############################################################
64 # AVX2
65 ###############################################################
66 libdpdk_plugin_avx2_la_SOURCES = $(dpdk_multiversioning_files)
67 libdpdk_plugin_avx2_la_CFLAGS =                                 \
68         $(AM_CFLAGS)  @CPU_AVX2_FLAGS@                          \
69         -DCLIB_MULTIARCH_VARIANT=avx2
70 noinst_LTLIBRARIES += libdpdk_plugin_avx2.la
71 dpdk_plugin_la_LIBADD += libdpdk_plugin_avx2.la
72 endif
73
74 if CC_SUPPORTS_AVX512
75 ###############################################################
76 # AVX512
77 ###############################################################
78 libdpdk_plugin_avx512_la_SOURCES = $(dpdk_multiversioning_files)
79 libdpdk_plugin_avx512_la_CFLAGS =                               \
80         $(AM_CFLAGS) @CPU_AVX512_FLAGS@                         \
81         -DCLIB_MULTIARCH_VARIANT=avx512
82 noinst_LTLIBRARIES += libdpdk_plugin_avx512.la
83 dpdk_plugin_la_LIBADD += libdpdk_plugin_avx512.la
84 endif
85 endif
86
87 nobase_include_HEADERS +=                                       \
88   dpdk/device/dpdk.h                                            \
89   dpdk/api/dpdk_all_api_h.h                                     \
90   dpdk/ipsec/ipsec.h
91
92 dpdk_test_plugin_la_SOURCES =                                   \
93   dpdk/api/dpdk_test.c dpdk/api/dpdk_plugin.api.h
94
95 # vi:syntax=automake