blob: f764a1f9ae56e0b7d82dd31ddefbcde8aea66ab4 [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
Damjan Marion1664f9b2017-04-24 20:48:53 +020015
16MACHINE=$(shell uname -m)
17
Ed Warnickecb9cada2015-12-08 15:45:58 -070018vpp_arch = native
Damjan Marion1664f9b2017-04-24 20:48:53 +020019ifeq ($(MACHINE),$(filter $(MACHINE),x86_64 i686))
Damjan Marion1c80e832016-05-11 23:07:18 +020020vpp_march = corei7 # Nehalem Instruction set
21vpp_mtune = corei7-avx # Optimize for Sandy Bridge
Damjan Marion1664f9b2017-04-24 20:48:53 +020022else ifeq ($(MACHINE),aarch64)
Marco6ebca6c2017-01-10 13:53:31 +010023ifeq ($(TARGET_PLATFORM),thunderx)
24vpp_march = armv8-a+crc
25vpp_mtune = thunderx
Marco6ebca6c2017-01-10 13:53:31 +010026vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
Damjan Marion154d4452016-06-28 19:10:41 +020027else
28vpp_march = native
29vpp_mtune = generic
Damjan Marion154d4452016-06-28 19:10:41 +020030endif
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
Dave Wallaced756b352017-07-03 13:11:38 -040039vpp_root_packages = vpp
Ed Warnickecb9cada2015-12-08 15:45:58 -070040
Damjan Marion28e3db92016-04-01 12:35:17 +020041# DPDK configuration parameters
Damjan Marion696f1ad2016-12-23 22:42:41 +010042# vpp_uses_dpdk_mlx5_pmd = yes
Damjan Marion28e3db92016-04-01 12:35:17 +020043# vpp_uses_external_dpdk = yes
44# vpp_dpdk_inc_dir = /usr/include/dpdk
45# vpp_dpdk_lib_dir = /usr/lib
46# vpp_dpdk_shared_lib = yes
Ed Warnickecb9cada2015-12-08 15:45:58 -070047
Dave Barach7b0c6732017-11-06 16:06:05 -050048vpp_configure_args_vpp =
49
Damjan Marion7bee80c2017-04-26 15:32:12 +020050# load balancer plugin is not portable on 32 bit platform
51ifeq ($(MACHINE),i686)
Dave Barach7b0c6732017-11-06 16:06:05 -050052vpp_configure_args_vpp += --disable-lb-plugin
Damjan Marion7bee80c2017-04-26 15:32:12 +020053endif
54
Dave Barach7b0c6732017-11-06 16:06:05 -050055# To disable the VPP object model build - and save about half the build time -
56# uncomment the following...
57# vpp_configure_args_vpp += --disable-vom
58
Ed Warnickecb9cada2015-12-08 15:45:58 -070059vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
Dave Barach20abdd92016-02-10 09:13:23 -050060 -fstack-protector-all -fPIC -Werror
Ed Warnickecb9cada2015-12-08 15:45:58 -070061vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
Dave Barach20abdd92016-02-10 09:13:23 -050062 -fstack-protector-all -fPIC -Werror
Ed Warnickecb9cada2015-12-08 15:45:58 -070063
Damjan Marion1c80e832016-05-11 23:07:18 +020064vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
Dave Barach20abdd92016-02-10 09:13:23 -050065 -fstack-protector -fPIC -Werror
Damjan Marion1c80e832016-05-11 23:07:18 +020066vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
Dave Barach20abdd92016-02-10 09:13:23 -050067 -fstack-protector -fPIC -Werror
Dave Barachec177ab2016-04-18 17:10:18 -040068
Damjan Marione30872e2016-11-12 01:23:55 +010069vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
70 -fstack-protector -fPIC -Werror
71vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
72 -fstack-protector -fPIC -Werror
73
Dave Barachec177ab2016-04-18 17:10:18 -040074vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
75 -fPIC -Werror -fprofile-arcs -ftest-coverage
76vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
77 -fPIC -Werror -coverage
Dave Barach3ad77042017-01-04 17:24:32 -050078
79vpp_coverity_TAG_CFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
80 -fPIC -Werror -D__COVERITY__
81vpp_coverity_TAG_LDFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
82 -fPIC -Werror -D__COVERITY__
83