numam-dpdk/mk
Luca Boccassi 1cd28daf82 mk: install symlinks before build step
A race condition can happen during parallel builds, where a header
might be installed in RTE_OUT/include before CFLAGS is recursively
expanded. This causes GCC to sometimes pick the header path as
SRCDIR/... and sometimes as RTE_OUT/include/... making the build
unreproducible, as the full path is used for the expansion of
__FILE__ and in the DWARF directory listing.

Installing all symlinks before all builds solves the problem. It is
still suboptimal, as the (fixed) path recorded in the DWARF dir
listing will include the user-configurable build output directory,
and thus will result in a different binary between different users
despite all other conditions being equal, but it is a simpler
approach that will anyway be obsolete once the build system is
switched to Meson.

Suggested-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-10-12 22:31:33 +02:00
..
arch update Cavium Inc copyright headers 2017-07-08 17:43:49 +02:00
exec-env fix typos using codespell utility 2017-06-14 23:54:13 +02:00
internal mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
machine config: add NXP DPAA SoC build configuration 2017-10-06 02:49:49 +02:00
target/generic fix typos using codespell utility 2017-06-14 23:54:13 +02:00
toolchain mk: add crypto capability for armv8a and thunderx 2017-07-04 15:56:58 +02:00
rte.app.mk mk: sort libraries in dependency lists 2017-10-12 22:31:33 +02:00
rte.bsdmodule.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.combinedlib.mk mk: sort list of shared objects in linker script 2017-10-12 22:31:33 +02:00
rte.cpuflags.mk mk: add crypto capability for armv8a and thunderx 2017-07-04 15:56:58 +02:00
rte.extapp.mk mk, scripts: remove useless blank lines 2015-06-12 11:10:02 +02:00
rte.extlib.mk mk: remove ABI versioning for external library 2015-12-08 02:59:54 +01:00
rte.extobj.mk mk, scripts: remove useless blank lines 2015-06-12 11:10:02 +02:00
rte.extshared.mk mk: allow to build shared libraries 2014-02-26 11:01:13 +01:00
rte.extsubdir.mk mk: fix external builds with relative output dir 2017-04-30 22:45:34 +02:00
rte.gnuconfigure.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.hostapp.mk mk: sort libraries in dependency lists 2017-10-12 22:31:33 +02:00
rte.hostlib.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.install.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.lib.mk mk: install symlinks before build step 2017-10-12 22:31:33 +02:00
rte.module.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.obj.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.sdkbuild.mk mk: allow exec-env specific targets 2017-07-03 23:55:55 +02:00
rte.sdkconfig.mk mk: add sensible default target with defconfig 2017-08-05 10:27:04 +02:00
rte.sdkdepdirs.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.sdkdoc.mk mk: sort list of examples files in doc 2017-10-12 22:31:33 +02:00
rte.sdkexamples.mk mk: add "make examples" target in root makefile 2014-05-16 16:02:55 +02:00
rte.sdkgcov.mk remove trailing whitespaces 2014-06-11 00:29:34 +02:00
rte.sdkinstall.mk mk: fix excluding files when installing docs 2017-06-27 01:16:22 +02:00
rte.sdkroot.mk mk: add sensible default target with defconfig 2017-08-05 10:27:04 +02:00
rte.sdktest.mk mk: fix message when test application is not built 2017-03-27 10:44:53 +02:00
rte.shared.mk mk: sort libraries in dependency lists 2017-10-12 22:31:33 +02:00
rte.subdir.mk mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
rte.vars.mk fix typos using codespell utility 2017-06-14 23:54:13 +02:00