blob: 7745717483ad89690c0c12b9147871ad74635c62 [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
Damjan Marion7bee80c2017-04-26 15:32:12 +020048# load balancer plugin is not portable on 32 bit platform
49ifeq ($(MACHINE),i686)
50vpp_configure_args_vpp = --disable-lb-plugin
51endif
52
Ed Warnickecb9cada2015-12-08 15:45:58 -070053vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
Dave Barach20abdd92016-02-10 09:13:23 -050054 -fstack-protector-all -fPIC -Werror
Ed Warnickecb9cada2015-12-08 15:45:58 -070055vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
Dave Barach20abdd92016-02-10 09:13:23 -050056 -fstack-protector-all -fPIC -Werror
Ed Warnickecb9cada2015-12-08 15:45:58 -070057
Damjan Marion1c80e832016-05-11 23:07:18 +020058vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
Dave Barach20abdd92016-02-10 09:13:23 -050059 -fstack-protector -fPIC -Werror
Damjan Marion1c80e832016-05-11 23:07:18 +020060vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
Dave Barach20abdd92016-02-10 09:13:23 -050061 -fstack-protector -fPIC -Werror
Dave Barachec177ab2016-04-18 17:10:18 -040062
Damjan Marione30872e2016-11-12 01:23:55 +010063vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
64 -fstack-protector -fPIC -Werror
65vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \
66 -fstack-protector -fPIC -Werror
67
Dave Barachec177ab2016-04-18 17:10:18 -040068vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
69 -fPIC -Werror -fprofile-arcs -ftest-coverage
70vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \
71 -fPIC -Werror -coverage
Dave Barach3ad77042017-01-04 17:24:32 -050072
73vpp_coverity_TAG_CFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
74 -fPIC -Werror -D__COVERITY__
75vpp_coverity_TAG_LDFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \
76 -fPIC -Werror -D__COVERITY__
77