[dpdk-dev] [PATCH 03/11] mk: fix build dependency of drivers on pmdinfogen

Neil Horman nhorman at tuxdriver.com
Thu Jul 7 17:56:55 CEST 2016


On Thu, Jul 07, 2016 at 05:36:22PM +0200, Thomas Monjalon wrote:
> 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>
> ---
>  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
>  
I'm not sure i understand the reasoning here, DEPDIRS is meant to declare
prerequisites to a directory (and its children) getting built, right?  A 
parallel make should block any drivers getting built prior to pmdinfogen getting
built.  What am I missing?

Neil

>  #
>  # build and clean targets
> -- 
> 2.7.0
> 
> 


More information about the dev mailing list