Ed Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 1 | # 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 Marion | 1664f9b | 2017-04-24 20:48:53 +0200 | [diff] [blame] | 15 | |
| 16 | MACHINE=$(shell uname -m) |
| 17 | |
Ed Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 18 | vpp_arch = native |
Damjan Marion | 1664f9b | 2017-04-24 20:48:53 +0200 | [diff] [blame] | 19 | ifeq ($(MACHINE),$(filter $(MACHINE),x86_64 i686)) |
Damjan Marion | 1c80e83 | 2016-05-11 23:07:18 +0200 | [diff] [blame] | 20 | vpp_march = corei7 # Nehalem Instruction set |
| 21 | vpp_mtune = corei7-avx # Optimize for Sandy Bridge |
Damjan Marion | 1664f9b | 2017-04-24 20:48:53 +0200 | [diff] [blame] | 22 | else ifeq ($(MACHINE),aarch64) |
Marco | 6ebca6c | 2017-01-10 13:53:31 +0100 | [diff] [blame] | 23 | ifeq ($(TARGET_PLATFORM),thunderx) |
| 24 | vpp_march = armv8-a+crc |
| 25 | vpp_mtune = thunderx |
Marco | 6ebca6c | 2017-01-10 13:53:31 +0100 | [diff] [blame] | 26 | vpp_dpdk_target = arm64-thunderx-linuxapp-gcc |
Damjan Marion | 154d445 | 2016-06-28 19:10:41 +0200 | [diff] [blame] | 27 | else |
| 28 | vpp_march = native |
| 29 | vpp_mtune = generic |
Damjan Marion | 154d445 | 2016-06-28 19:10:41 +0200 | [diff] [blame] | 30 | endif |
Marco | 6ebca6c | 2017-01-10 13:53:31 +0100 | [diff] [blame] | 31 | endif |
Damjan Marion | 29b6af9 | 2015-12-13 21:17:07 +0100 | [diff] [blame] | 32 | vpp_native_tools = vppapigen |
Ed Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 33 | |
Damjan Marion | e936bbe | 2016-02-25 23:17:38 +0100 | [diff] [blame] | 34 | vpp_uses_dpdk = yes |
| 35 | |
Damjan Marion | c47e979 | 2016-04-11 13:34:36 +0200 | [diff] [blame] | 36 | # Uncoment to enable building unit tests |
| 37 | # vpp_enable_tests = yes |
| 38 | |
Dave Wallace | d756b35 | 2017-07-03 13:11:38 -0400 | [diff] [blame] | 39 | vpp_root_packages = vpp |
Ed Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 40 | |
Damjan Marion | 28e3db9 | 2016-04-01 12:35:17 +0200 | [diff] [blame] | 41 | # DPDK configuration parameters |
Damjan Marion | 696f1ad | 2016-12-23 22:42:41 +0100 | [diff] [blame] | 42 | # vpp_uses_dpdk_mlx5_pmd = yes |
Damjan Marion | 28e3db9 | 2016-04-01 12:35:17 +0200 | [diff] [blame] | 43 | # 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 Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 47 | |
Dave Barach | 7b0c673 | 2017-11-06 16:06:05 -0500 | [diff] [blame] | 48 | vpp_configure_args_vpp = |
| 49 | |
Damjan Marion | 7bee80c | 2017-04-26 15:32:12 +0200 | [diff] [blame] | 50 | # load balancer plugin is not portable on 32 bit platform |
| 51 | ifeq ($(MACHINE),i686) |
Dave Barach | 7b0c673 | 2017-11-06 16:06:05 -0500 | [diff] [blame] | 52 | vpp_configure_args_vpp += --disable-lb-plugin |
Damjan Marion | 7bee80c | 2017-04-26 15:32:12 +0200 | [diff] [blame] | 53 | endif |
| 54 | |
Dave Barach | 7b0c673 | 2017-11-06 16:06:05 -0500 | [diff] [blame] | 55 | # 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 Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 59 | vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ |
Dave Barach | 20abdd9 | 2016-02-10 09:13:23 -0500 | [diff] [blame] | 60 | -fstack-protector-all -fPIC -Werror |
Ed Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 61 | vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ |
Dave Barach | 20abdd9 | 2016-02-10 09:13:23 -0500 | [diff] [blame] | 62 | -fstack-protector-all -fPIC -Werror |
Ed Warnicke | cb9cada | 2015-12-08 15:45:58 -0700 | [diff] [blame] | 63 | |
Damjan Marion | 1c80e83 | 2016-05-11 23:07:18 +0200 | [diff] [blame] | 64 | vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ |
Dave Barach | 20abdd9 | 2016-02-10 09:13:23 -0500 | [diff] [blame] | 65 | -fstack-protector -fPIC -Werror |
Damjan Marion | 1c80e83 | 2016-05-11 23:07:18 +0200 | [diff] [blame] | 66 | vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ |
Dave Barach | 20abdd9 | 2016-02-10 09:13:23 -0500 | [diff] [blame] | 67 | -fstack-protector -fPIC -Werror |
Dave Barach | ec177ab | 2016-04-18 17:10:18 -0400 | [diff] [blame] | 68 | |
Damjan Marion | e30872e | 2016-11-12 01:23:55 +0100 | [diff] [blame] | 69 | vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ |
| 70 | -fstack-protector -fPIC -Werror |
| 71 | vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) -mtune=$(MTUNE) \ |
| 72 | -fstack-protector -fPIC -Werror |
| 73 | |
Dave Barach | ec177ab | 2016-04-18 17:10:18 -0400 | [diff] [blame] | 74 | vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \ |
| 75 | -fPIC -Werror -fprofile-arcs -ftest-coverage |
| 76 | vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) \ |
| 77 | -fPIC -Werror -coverage |
Dave Barach | 3ad7704 | 2017-01-04 17:24:32 -0500 | [diff] [blame] | 78 | |
| 79 | vpp_coverity_TAG_CFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \ |
| 80 | -fPIC -Werror -D__COVERITY__ |
| 81 | vpp_coverity_TAG_LDFLAGS = -g -O2 -march=$(MARCH) -mtune=$(MTUNE) \ |
| 82 | -fPIC -Werror -D__COVERITY__ |
| 83 | |