X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=build-root%2FMakefile;h=0fed520c728ff3a518f4ccf194383c5bae2dcd48;hb=6d5c4cdbcc4799a9f43df68df434d5786db44b45;hp=34d6c9dd28e66a060bd0fd70a5e031c003294c65;hpb=2e89a894a46e6de80bdd3bcec184a53b32e5c091;p=vpp.git diff --git a/build-root/Makefile b/build-root/Makefile index 34d6c9dd28e..0fed520c728 100644 --- a/build-root/Makefile +++ b/build-root/Makefile @@ -220,6 +220,11 @@ else endif export MARCH +MTUNE = $(strip $($(PLATFORM)_mtune)) +ifeq ($(MTUNE),) + MTUNE = generic +endif + ###################################################################### # Generic build stuff ###################################################################### @@ -237,28 +242,10 @@ TAG_PREFIX = $(if $(TAG),$(TAG)-) tag_var_with_added_space_fn = $(if $($(TAG)_TAG_$(1)),$($(TAG)_TAG_$(1)) ) # TAG=debug for debugging -debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) -debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -march=$(MARCH) - -# TAG=prof for profiling -prof_TAG_CFLAGS = -g -pg -O2 -prof_TAG_LDFLAGS = -g -pg -O2 - -# TAG=o0 -o0_TAG_CFLAGS = -g -O0 -o1_TAG_LDFLAGS = -g -O0 - -# TAG=o1 -o1_TAG_CFLAGS = -g -O1 -o1_TAG_LDFLAGS = -g -O1 - -# TAG=o2 -o2_TAG_CFLAGS = -g -O2 -o2_TAG_LDFLAGS = -g -O2 - -# TAG=o3 -o3_TAG_CFLAGS = -g -O3 -o3_TAG_LDFLAGS = -g -O3 +debug_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ + -fstack-protector-all -fPIC +debug_TAG_LDFLAGS = -g -O0 -DCLIB_DEBUG -DFORTIFY_SOURCE=2 -march=$(MARCH) \ + -fstack-protector-all -fPIC BUILD_PREFIX_package = build-$(TAG_PREFIX) BUILD_PREFIX_tool = build-tool-$(TAG_PREFIX) @@ -592,7 +579,7 @@ image_extra_dependencies = $($(PLATFORM)_image_extra_dependencies) ### dbarach configure_package_gnu = \ - s=$(call find_source_fn,$(PACKAGE_SOURCE)) ; \ + s=$(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR) ; \ if [ ! -f $$s/configure ] ; then \ autoreconf -i -f $$s ; \ fi ; \ @@ -648,7 +635,8 @@ configure_check_timestamp = \ mkdir -p $(PACKAGE_INSTALL_DIR) ; \ conf="$(TIMESTAMP_DIR)/$(CONFIGURE_TIMESTAMP)" ; \ dirs="$(call package_mk_fn,$(PACKAGE)) \ - $(wildcard $(call find_source_fn,$(PACKAGE_SOURCE))/configure) \ + $(wildcard $(call find_source_fn, \ + $(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)/configure) \ $(MU_BUILD_ROOT_DIR)/config.site" ; \ if [[ $(call find_newer_fn, $${conf}, $${dirs}, $?) ]]; then \ $(configure_package) ; \ @@ -665,16 +653,13 @@ configure_check_timestamp = \ # Package build ###################################################################### -linux_n_cpus = `grep '^processor' /proc/cpuinfo | wc -l` - -MAKE_PARALLEL_JOBS = \ - -j $(shell \ - if [ -f /proc/cpuinfo ] ; then \ - expr 2 '*' $(linux_n_cpus) ; \ - else \ - echo 1 ; \ - fi) - +# /proc/cpuinfo does not exist on platforms without a /proc and on some +# platforms, notably inside containers, it has no content. In those cases +# we assume there's 1 processor; we use 2*ncpu for the -j option. +# NB: GNU Make 4.2 will let us use '$(file