[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