From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: Re: [PATCH 3/4] mk: allow kernel artifacts to be located in output directory Date: Fri, 30 Mar 2018 11:35:25 +0100 Message-ID: <11afc40e-bb2b-b58c-87a9-7b841ed5412a@intel.com> References: <20180321180629.58318-1-ajit.khaparde@broadcom.com> <20180321180629.58318-4-ajit.khaparde@broadcom.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Scott Branden To: Ajit Khaparde , dev@dpdk.org Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id A8FB85F51 for ; Fri, 30 Mar 2018 12:35:28 +0200 (CEST) In-Reply-To: <20180321180629.58318-4-ajit.khaparde@broadcom.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 3/21/2018 6:06 PM, Ajit Khaparde wrote: > From: Scott Branden > > 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 > Signed-off-by: Ajit Khaparde > --- > 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 >