blob: dd6f9dc2612fbd03d5893076aa247382a6d50173 [file] [log] [blame]
Ed Warnickecb9cada2015-12-08 15:45:58 -07001# Copyright (c) 2015 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# vector packet processor
15vpp_arch = native
Damjan Marion154d4452016-06-28 19:10:41 +020016ifeq ($(shell uname -m),x86_64)
Damjan Marion1c80e832016-05-11 23:07:18 +020017vpp_march = corei7 # Nehalem Instruction set
18vpp_mtune = corei7-avx # Optimize for Sandy Bridge
19vpp_dpdk_arch = corei7
Marco6ebca6c2017-01-10 13:53:31 +010020else ifeq ($(shell uname -m),aarch64)
21ifeq ($(TARGET_PLATFORM),thunderx)
22vpp_march = armv8-a+crc
23vpp_mtune = thunderx
24vpp_dpdk_arch = armv8a
25vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
Damjan Marion154d4452016-06-28 19:10:41 +020026else
27vpp_march = native
28vpp_mtune = generic
29vpp_dpdk_arch = native
30endif
Marco6ebca6c2017-01-10 13:53:31 +010031endif
Damjan Marion29b6af92015-12-13 21:17:07 +010032vpp_native_tools = vppapigen
Ed Warnickecb9cada2015-12-08 15:45:58 -070033
Damjan Marione936bbe2016-02-25 23:17:38 +010034vpp_uses_dpdk = yes
35
Damjan Marionc47e9792016-04-11 13:34:36 +020036# Uncoment to enable building unit tests
37# vpp_enable_tests = yes
38
Damjan Marioncb034b92016-12-28 18:38:59 +010039vpp_root_packages = vpp gmod
Ed Warnickecb9cada2015-12-08 15:45:58 -070040
41vpp_configure_args_vpp = --with-dpdk
Ed Warnickecb9cada2015-12-08 15:45:58 -070042
43# Set these parameters carefully. The vlib_buffer_t is 128 bytes, i.e.
Ed Warnickecb9cada2015-12-08 15:45:58 -070044vlib_configure_args_vpp = --with-pre-data=128
45
Damjan Marion28e3db92016-04-01 12:35:17 +020046# DPDK configuration parameters
Sergio Gonzalez Monroya10f62b2016-11-25 13:36:12 +000047# vpp_uses_dpdk_cryptodev = yes
Damjan Marion696f1ad2016-12-23 22:42:41 +010048# vpp_uses_dpdk_mlx5_pmd = yes
Damjan Marion28e3db92016-04-01 12:35:17 +020049# vpp_uses_external_dpdk = yes
50# vpp_dpdk_inc_dir = /usr/include/dpdk
51# vpp_dpdk_lib_dir = /usr/lib
52# vpp_dpdk_shared_lib = yes
Ed Warnickecb9cada2015-12-08 15:45:58 -070053
54vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
Dave Barach20abdd92016-02-10 09:13:23 -050055 -fstack-protector-all -fPIC -Werror
Ed Warnickecb9cada2015-12-08 15:45:58 -070056vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
Dave Barach20abdd92016-02-10 09:13:23 -050057 -fstack-protector-all -fPIC -Werror
Ed Warnickecb9cada2015-12-08 15:45:58 -070058
Damjan Marion1c80e832016-05-11 23:07:18 +020059vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
Dave Barach20abdd92016-02-10 09:13:23 -050060 -fstack-protector -fPIC -Werror
Damjan Marion1c80e832016-05-11 23:07:18 +020061vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
Dave Barach20abdd92016-02-10 09:13:23 -050062 -fstack-protector -fPIC -Werror
Dave Barachec177ab2016-04-18 17:10:18 -040063
Damjan Marione30872e2016-11-12 01:23:55 +010064vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
65 -fstack-protector -fPIC -Werror
66vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
67 -fstack-protector -fPIC -Werror
68
Dave Barachec177ab2016-04-18 17:10:18 -040069vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
70 -fPIC -Werror -fprofile-arcs -ftest-coverage
71vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
72 -fPIC -Werror -coverage