When compiling the drivers, some code is generated with pmdinfogen. A fresh parallel build can fail if a driver is compiled before pmdinfogen: build/buildtools/dpdk-pmdinfogen: Permission denied
There was a dependency declared in drivers/Makefile but it cannot work because this file is based on mk/rte.subdir.mk which do not handle dependencies. It is fixed by declaring the whole buildtools as (order only) prerequisite of drivers. Fixes: cb6696d22023 ("drivers: update registration macro usage") Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com> Acked-by: Neil Horman <nhorman at tuxdriver.com> --- drivers/Makefile | 2 -- mk/rte.sdkbuild.mk | 1 + 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/Makefile b/drivers/Makefile index 75a3168..81c03a8 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -34,6 +34,4 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-y += net DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto -DEPDIRS-y += buildtools/pmdinfo - include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk index fb68af2..354f006 100644 --- a/mk/rte.sdkbuild.mk +++ b/mk/rte.sdkbuild.mk @@ -49,6 +49,7 @@ $(1): $(sort $(LOCAL_DEPDIRS-$(1))) endef $(foreach d,$(ROOTDIRS-y),$(eval $(call depdirs_rule,$(d)))) +drivers: | buildtools # # build and clean targets -- 2.7.0