dpdk: update build
[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_DPDK_AESNI_MB_PMD
23 dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libIPSec_MB.a,-l:libIPSec_MB.a
24 endif
25 if WITH_DPDK_AESNI_GCM_PMD
26 dpdk_plugin_la_LDFLAGS += -Wl,--exclude-libs,libisal_crypto.a,-l:libisal_crypto.a
27 endif
28 dpdk_plugin_la_LDFLAGS += -Wl,-lm,-ldl
29 if WITH_DPDK_MLX5_PMD
30 dpdk_plugin_la_LDFLAGS += -Wl,-libverbs
31 endif
32 if WITH_DPDK_MLX4_PMD
33 dpdk_plugin_la_LDFLAGS += -Wl,-libverbs
34 endif
35
36 dpdk_plugin_la_SOURCES =                                        \
37   dpdk/main.c                                                   \
38   dpdk/buffer.c                                                 \
39   dpdk/thread.c                                                 \
40   dpdk/api/dpdk_api.c                                           \
41   dpdk/device/cli.c                                             \
42   dpdk/device/common.c                                          \
43   dpdk/device/dpdk_priv.h                                       \
44   dpdk/device/device.c                                          \
45   dpdk/device/format.c                                          \
46   dpdk/device/init.c                                            \
47   dpdk/device/node.c                                            \
48   dpdk/hqos/hqos.c                                              \
49   dpdk/ipsec/esp_encrypt.c                                      \
50   dpdk/ipsec/esp_decrypt.c                                      \
51   dpdk/ipsec/crypto_node.c                                      \
52   dpdk/ipsec/cli.c                                              \
53   dpdk/ipsec/ipsec.c                                            \
54   dpdk/api/dpdk_plugin.api.h
55
56 API_FILES += dpdk/api/dpdk.api
57
58 nobase_include_HEADERS +=                                       \
59   dpdk/device/dpdk.h                                            \
60   dpdk/api/dpdk_all_api_h.h
61
62 nobase_include_HEADERS +=                       \
63  dpdk/ipsec/ipsec.h             \
64  dpdk/ipsec/esp.h
65
66 dpdk_test_plugin_la_SOURCES =                                   \
67   dpdk/api/dpdk_test.c dpdk/api/dpdk_plugin.api.h
68
69 # vi:syntax=automake