[dpdk-dev] [PATCH v1] mk: support building with renamed makefile

Olivier Matz olivier.matz at 6wind.com
Mon Feb 5 10:29:05 CET 2018


On Mon, Jan 22, 2018 at 10:59:05AM +0000, Marko Kovacevic wrote:
> The build system made a recursive call to "make" after
> creating the build directory. This recursive call used
> the hard-coded filename "Makefile", which prevented
> builds from working if the file was renamed and make
> called using "make -f". Taking the filename from
> MAKEFILES_LIST make variable fixes this.
> 
> Fixes: af75078fece3 ("first public release")
> Cc: stable at dpdk.org
> 
> Signed-off-by: Marko Kovacevic <marko.kovacevic at intel.com>
> ---
>  mk/internal/rte.extvars.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mk/internal/rte.extvars.mk b/mk/internal/rte.extvars.mk
> index 94f27e9..19594da 100644
> --- a/mk/internal/rte.extvars.mk
> +++ b/mk/internal/rte.extvars.mk
> @@ -20,7 +20,7 @@ ifeq ("$(origin M)", "command line")
>  RTE_EXTMK := $(abspath $(M))
>  endif
>  endif
> -RTE_EXTMK ?= $(RTE_SRCDIR)/Makefile
> +RTE_EXTMK ?= $(RTE_SRCDIR)/$(firstword $(MAKEFILE_LIST))
>  export RTE_EXTMK
>  
>  # RTE_SDK_BIN must point to .config, include/ and lib/.
> -- 
> 2.9.5
> 


Hi,

This commit breaks the build of one of our external module:

 make[5]: /path/to/ext-module//path/to/ext-module/Makefile: No such file or directory                                                                                                                      
 make[5]: *** No rule to make target '/path/to/ext-module//path/to/ext-module/Makefile'.  Stop.                                                                                                            

The reason is that entries in $(MAKEFILE_LIST) can be absolute
paths. See:

 $ cat test.mk
 $(info $(MAKEFILE_LIST))
 all:
 $ make -f test.mk
  test.mk
 $ make -f $PWD/test.mk
  /home/user/test.mk

Maybe something like this could be better (I didn't try):

 RTE_EXTMK ?= $(RTE_SRCDIR)/$(notdir $(firstword $(MAKEFILE_LIST)))


Thanks
Olivier


More information about the dev mailing list