From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <olivier.matz@6wind.com>
Received: from mail.droids-corp.org (zoll.droids-corp.org [94.23.50.67])
 by dpdk.org (Postfix) with ESMTP id 4E5F61B1A4;
 Mon,  5 Feb 2018 10:29:10 +0100 (CET)
Received: from lfbn-lil-1-110-231.w90-45.abo.wanadoo.fr ([90.45.197.231]
 helo=droids-corp.org)
 by mail.droids-corp.org with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.89) (envelope-from <olivier.matz@6wind.com>)
 id 1eid5T-0001lB-6x; Mon, 05 Feb 2018 10:29:20 +0100
Received: by droids-corp.org (sSMTP sendmail emulation);
 Mon, 05 Feb 2018 10:29:05 +0100
Date: Mon, 5 Feb 2018 10:29:05 +0100
From: Olivier Matz <olivier.matz@6wind.com>
To: Marko Kovacevic <marko.kovacevic@intel.com>
Cc: dev@dpdk.org, thomas@monjalon.net, vipin.varghese@intel.com,
 stable@dpdk.org
Message-ID: <20180205092905.uhkihig7nlcfnrot@platinum>
References: <20180122105905.6996-1-marko.kovacevic@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20180122105905.6996-1-marko.kovacevic@intel.com>
User-Agent: NeoMutt/20170113 (1.7.2)
Subject: Re: [dpdk-dev] [PATCH v1] mk: support building with renamed makefile
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Mon, 05 Feb 2018 09:29:10 -0000

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@dpdk.org
> 
> Signed-off-by: Marko Kovacevic <marko.kovacevic@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