[dpdk-dev] [PATCH 3/4] mk: allow kernel artifacts to be located in output directory

Ferruh Yigit ferruh.yigit at intel.com
Fri Mar 30 12:35:25 CEST 2018


On 3/21/2018 6:06 PM, Ajit Khaparde wrote:
> From: Scott Branden <scott.branden at broadcom.com>
> 
> Allow kernel artifacts to be located in output directory specific
> by RTE_KERNELDIR_OUT.  

How to use this variable, I tried following but kernel modules are still in same
place:

- make RTE_KERNELDIR_OUT=/tmp/kmod O=ferruh DESTDIR=/tmp/ferruh
- make RTE_KERNELDIR_OUT=/tmp/kmod O=ferruh DESTDIR=/tmp/ferruh install
- make RTE_KERNELDIR_OUT=/tmp/kmod O=ferruh DESTDIR=/tmp/ferruh modules_install

/tmp/kmod not created.

And what we are fixing here, what was wrong with old code?

> If RTE_KERNELDIR_OUT not specified than
> source directory RTE_KERNEL is used.

${RTE_KERNELDIR} is used as external Linux kernel source folder, why we are want
to put artifacts into kernel source?

> 
> Signed-off-by: Scott Branden <scott.branden at broadcom.com>
> Signed-off-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
> ---
>  mk/rte.module.mk | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/mk/rte.module.mk b/mk/rte.module.mk
> index 1ada528a0..e2e1af716 100644
> --- a/mk/rte.module.mk
> +++ b/mk/rte.module.mk
> @@ -39,6 +39,9 @@ _postinstall: build
>  .PHONY: build
>  build: _postbuild
>  
> +# Allow kernel artifacts to be located in a different location that source
> +RTE_KERNELDIR_OUT ?= ${RTE_KERNELDIR}
> +
>  # Link all sources in build directory
>  %_link: FORCE
>  	$(if $(call compare,$(notdir $*),$*),\
> @@ -48,7 +51,7 @@ build: _postbuild
>  # build module
>  $(MODULE).ko: $(SRCS_LINKS)
>  	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
> -	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
> +	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
>  		CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
>  
>  # install module in $(RTE_OUTPUT)/kmod
> @@ -59,7 +62,7 @@ $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
>  
>  # install module
>  modules_install:
> -	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
> +	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
>  		modules_install
>  
>  .PHONY: clean
> @@ -69,7 +72,7 @@ clean: _postclean
>  .PHONY: doclean
>  doclean:
>  	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
> -	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
> +	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) clean
>  	@$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
>  		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
>  	@if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
> 



More information about the dev mailing list