# limitations under the License.
# vector packet processor
+
+MACHINE=$(shell uname -m)
+
vpp_arch = native
-vpp_native_tools = vppapigen
+ifeq ($(TARGET_PLATFORM),thunderx)
+vpp_dpdk_target = arm64-thunderx-linuxapp-gcc
+endif
+
+vpp_root_packages = vpp vom
-vpp_root_packages = vpp vlib vlib-api vnet svm dpdk vpp-api-test \
- vpp-japi vppctl
+vpp_common_cflags = \
+ -g \
+ -DFORTIFY_SOURCE=2 \
+ -fstack-protector \
+ -fPIC \
+ -Wall \
+ -Werror \
+ -fno-common
-vpp_configure_args_vpp = --with-dpdk
-vnet_configure_args_vpp = --with-dpdk
+vpp_debug_TAG_CFLAGS = -O0 -DCLIB_DEBUG $(vpp_common_cflags)
+vpp_debug_TAG_CXXFLAGS = -O0 -DCLIB_DEBUG $(vpp_common_cflags)
+vpp_debug_TAG_LDFLAGS = -O0 -DCLIB_DEBUG $(vpp_common_cflags)
-# Set these parameters carefully. The vlib_buffer_t is 128 bytes, i.e.
-# dpdk_headroom = uiotarball_headroom = vlib_pre_data + 128
-dpdk_configure_args_vpp = --with-headroom=256
-vlib_configure_args_vpp = --with-pre-data=128
+vpp_TAG_CFLAGS = -O2 $(vpp_common_cflags)
+vpp_TAG_CXXFLAGS = -O2 $(vpp_common_cflags)
+vpp_TAG_LDFLAGS = -O2 $(vpp_common_cflags) -pie
+vpp_clang_TAG_CFLAGS = -O2 $(vpp_common_cflags)
+vpp_clang_TAG_CXXFLAGS = -O2 $(vpp_common_cflags)
+vpp_clang_TAG_LDFLAGS = -O2 $(vpp_common_cflags)
-vpp_debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector-all -fPIC
-vpp_debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector-all -fPIC
+vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DCLIB_GCOV -fPIC -Werror -fprofile-arcs -ftest-coverage
+vpp_gcov_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DCLIB_GCOV -fPIC -Werror -coverage
-vpp_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector -fPIC
-vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -march=$(MARCH) \
- -fstack-protector -fPIC
+vpp_coverity_TAG_CFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__
+vpp_coverity_TAG_LDFLAGS = -g -O2 -fPIC -Werror -D__COVERITY__