From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk0-f195.google.com (mail-qk0-f195.google.com [209.85.220.195]) by dpdk.org (Postfix) with ESMTP id 87C4B5B34 for ; Fri, 30 Mar 2018 20:23:53 +0200 (CEST) Received: by mail-qk0-f195.google.com with SMTP id z184so9830864qkc.1 for ; Fri, 30 Mar 2018 11:23:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=m4QSkrpQlSwhjQraoHkXjNfI0ZystT0Mr52YZslpzvY=; b=A74jrmWbAWpTbGv071P3VB6Aveq7bIkdzyVoOnbyhdIqVQ9ZuCQFK4LYqwanKUpY2N EZuU0ZvKVLrPKBsIsWwVDoC2SN/J0B5M6f6GEadQcJ3qJ6z3PXrnkDZrBJ6Rh1nsjZ08 14z9UnZtSf9bEjnQqrCOUj3VtRMWX/9V8cdUQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=m4QSkrpQlSwhjQraoHkXjNfI0ZystT0Mr52YZslpzvY=; b=PDXQ0AWR5FcvUNqLEkD9Aaf4jDSruhrPCw+fIBhOcAfHDeutI0bCF3YR99+9th1QCK eegOkX6QvuePZMbC3lLBm7YkaAVaHz79ngDsZAxYmbH2m1WyaYHW2LddGy4TLI25g0tO 4a8Fog/GvbaAalwWaeEN+54b0VCpdTPin3/nkywQi7SDqNbFhM31tkzu6P4TXgdzZI1I jGB7DUWCUebCgzdtqhaZzGgPZAbSavHVYfxJbjUOSmV6/B0ZZXz+CIQ5Kyw7+a68QbNU oRKC63JKnbqvygwMysprrpaw7d33O1JHBt5KMdTWw6lh2+EEVwkdqsqZg0HJhGQ0rBhD cRPQ== X-Gm-Message-State: ALQs6tBMCvNuLkSazNVKTX5TeJZkyYVGfaEmC654loUf/pqp7Qycw6Sr cNgLRSnJXnPCJdiE4XLs5+NnoDhh X-Google-Smtp-Source: AIpwx48yxJNavKqCO52llULuCIFiiFej3WvQGRQm1iz/vSxwnN2jbE/GKqTaM5OPUl10dkjp3rqd8g== X-Received: by 10.55.8.147 with SMTP id 141mr87271qki.228.1522434232611; Fri, 30 Mar 2018 11:23:52 -0700 (PDT) Received: from [10.136.13.65] ([192.19.224.250]) by smtp.gmail.com with ESMTPSA id s2sm1311434qtd.97.2018.03.30.11.23.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 30 Mar 2018 11:23:51 -0700 (PDT) To: Ferruh Yigit , Ajit Khaparde , dev@dpdk.org References: <20180321180629.58318-1-ajit.khaparde@broadcom.com> <20180321180629.58318-4-ajit.khaparde@broadcom.com> <11afc40e-bb2b-b58c-87a9-7b841ed5412a@intel.com> From: Scott Branden Message-ID: <779b8c49-9b3f-f4fa-167e-07bbb5572d66@broadcom.com> Date: Fri, 30 Mar 2018 11:23:49 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <11afc40e-bb2b-b58c-87a9-7b841ed5412a@intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH 3/4] mk: allow kernel artifacts to be located in output directory X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Mar 2018 18:23:53 -0000 Hi Ferruh, On 18-03-30 03:35 AM, Ferruh Yigit wrote: > 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: export RTE_KERNELDIR and RTE_KERNELDIR_OUT and it works fine. RTE_KERNELDIR already exists in Makefile.  Are you able to override it? > - 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? Old code puts the intermediate object files in the kernel source directory.  This doesn't work when building an external module in openembedded recipes.  We need the Makefile change to be able to able to specify the kernel and output directories separately. > >> 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? I just kept the default behaviour the same as what it does today. > >> 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 >> Regards,  Scott