blob: bba90eaebf8446665a2c992cae6d1ee69dd3021a [file] [log] [blame]
Damjan Marion7cd468a2016-12-19 23:05:39 +01001# Copyright (c) 2016 Cisco and/or its affiliates.
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###############################################################################
15# Global Defines
16###############################################################################
17
18AUTOMAKE_OPTIONS = foreign subdir-objects
19ACLOCAL_AMFLAGS = -I m4
20
21AM_CFLAGS = -Wall
22
23SUBDIRS = .
24SUFFIXES = .api.h .api .api.json
25API_FILES =
26noinst_HEADERS =
27dist_bin_SCRIPTS =
28lib_LTLIBRARIES =
29BUILT_SOURCES =
30
31###############################################################################
32# DPDK
33###############################################################################
34
35if WITH_DPDK
36if ENABLE_DPDK_SHARED
37DPDK_LD_FLAGS = -Wl,--whole-archive,-ldpdk,--no-whole-archive
38else
39DPDK_LD_FLAGS = -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive
40endif
41if WITH_DPDK_CRYPTO
42DPDK_LD_ADD = -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB
43endif
44if WITH_DPDK_MLX5_PMD
45DPDK_LD_FLAGS += -libverbs -lmlx5 -lnuma
46endif
47else
48DPDK_LD_FLAGS =
49DPDK_LD_ADD =
50endif
51
52###############################################################################
53# Components
54###############################################################################
55
56include vppinfra.am
57include vppapigen.am
58
59if ENABLE_PERFTOOL
60include perftool.am
61endif
62
63if ENABLE_G2
64include g2.am
65endif
66
67if ENABLE_SVM
68include svm.am
69endif
70
71if ENABLE_VLIB
72include vlib.am
73endif
74
75if ENABLE_SVM
76if ENABLE_VLIB
77include vlib-api.am
78include vnet.am
79include vpp.am
80include vpp-api-test.am
81
Damjan Marioncb034b92016-12-28 18:38:59 +010082SUBDIRS += plugins
83
84if ENABLE_PAPI
85SUBDIRS += vpp-api/python
86endif
87
88if ENABLE_JAPI
89SUBDIRS += vpp-api/java
90endif
Damjan Marion7cd468a2016-12-19 23:05:39 +010091
92###############################################################################
93# API
94###############################################################################
95
96include suffix-rules.mk
97
98# Set the suffix list
99apidir = $(prefix)/share/vpp/api/core
100
101api_DATA = \
102 $(patsubst %.api,%.api.json,$(API_FILES))
103
104BUILT_SOURCES += \
Damjan Marion7cd468a2016-12-19 23:05:39 +0100105 $(patsubst %.api,%.api.h,$(API_FILES))
106
107endif # if ENABLE_VLIB
108endif # if ENABLE_SVM