blob: 18a41a153ee7bae9c37ceb2e258e373aef18e741 [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
Damjan Marion724f64c2017-01-11 11:11:00 +010020AM_LIBTOOLFLAGS = --quiet
Damjan Marion7cd468a2016-12-19 23:05:39 +010021
22AM_CFLAGS = -Wall
23
24SUBDIRS = .
25SUFFIXES = .api.h .api .api.json
26API_FILES =
27noinst_HEADERS =
28dist_bin_SCRIPTS =
29lib_LTLIBRARIES =
30BUILT_SOURCES =
31
32###############################################################################
33# DPDK
34###############################################################################
35
36if WITH_DPDK
37if ENABLE_DPDK_SHARED
38DPDK_LD_FLAGS = -Wl,--whole-archive,-ldpdk,--no-whole-archive
39else
40DPDK_LD_FLAGS = -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive
41endif
42if WITH_DPDK_CRYPTO
43DPDK_LD_ADD = -L$(AESNI_MULTI_BUFFER_LIB_PATH) -lIPSec_MB
44endif
45if WITH_DPDK_MLX5_PMD
46DPDK_LD_FLAGS += -libverbs -lmlx5 -lnuma
47endif
48else
49DPDK_LD_FLAGS =
50DPDK_LD_ADD =
51endif
52
53###############################################################################
54# Components
55###############################################################################
56
57include vppinfra.am
58include vppapigen.am
59
60if ENABLE_PERFTOOL
61include perftool.am
62endif
63
64if ENABLE_G2
65include g2.am
66endif
67
68if ENABLE_SVM
69include svm.am
70endif
71
72if ENABLE_VLIB
73include vlib.am
74endif
75
76if ENABLE_SVM
77if ENABLE_VLIB
78include vlib-api.am
79include vnet.am
80include vpp.am
81include vpp-api-test.am
82
Damjan Marioncb034b92016-12-28 18:38:59 +010083SUBDIRS += plugins
84
85if ENABLE_PAPI
86SUBDIRS += vpp-api/python
87endif
88
89if ENABLE_JAPI
90SUBDIRS += vpp-api/java
91endif
Damjan Marion7cd468a2016-12-19 23:05:39 +010092
93###############################################################################
94# API
95###############################################################################
96
97include suffix-rules.mk
98
99# Set the suffix list
100apidir = $(prefix)/share/vpp/api/core
101
102api_DATA = \
103 $(patsubst %.api,%.api.json,$(API_FILES))
104
105BUILT_SOURCES += \
Damjan Marion7cd468a2016-12-19 23:05:39 +0100106 $(patsubst %.api,%.api.h,$(API_FILES))
107
108endif # if ENABLE_VLIB
109endif # if ENABLE_SVM