[Buildroot] [PATCH 12/16 v3] core: handle .br-external in a make rule

Yann E. MORIN yann.morin.1998 at free.fr
Sat Aug 27 15:51:07 UTC 2016


Romain, All,

On 2016-07-25 23:13 +0200, Yann E. MORIN spake thusly:
> On 2016-07-24 22:05 +0200, Romain Naour spake thusly:
> > Le 17/07/2016 à 12:34, Yann E. MORIN a écrit :
> > > Currently, we treat the case where we have no br2-external tree
> > > (BR2_EXTERNAL is empty) differently from the case where we do have
> > > one (BR2_EXTERNAL is not empty).
> > > 
> > > There is now no reason to treat those two cases differently:
> > > 
> > >   - the kconfig snippet is always generated appropriately (i.e. it would
> > >     include the br2-external tree if set, or include nothing otherwise);
> > > 
> > >   - we no longer have a dummy br-external tree either.
> > > 
> > > As such, generate the .br-external cache file in both cases.
> > > 
> > > This will make it much easier to handle when we introduce support for
> > > multiple br2-external trees.
> > > 
> > > Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
> > > Cc: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> > > Cc: Peter Korsgaard <jacmet at uclibc.org>
> > > Cc: Thomas De Schampheleire <patrickdepinguin at gmail.com>
> > > Cc: Arnout Vandecappelle <arnout at mind.be>
> > > ---
> > >  Makefile | 13 ++++++-------
> > >  1 file changed, 6 insertions(+), 7 deletions(-)
> > > 
> > > diff --git a/Makefile b/Makefile
> > > index 72b55cb..67334e5 100644
> > > --- a/Makefile
> > > +++ b/Makefile
> > > @@ -146,23 +146,17 @@ $(if $(BASE_DIR),, $(error output directory "$(O)" does not exist))
> > >  # On subsequent invocations of make, it is read in. It can still be overridden
> > >  # on the command line, therefore the file is re-created every time make is run.
> > >  #
> > > -# When BR2_EXTERNAL is set to an empty value (e.g. explicitly in command
> > > -# line), the .br-external file is removed.
> > > -#
> > >  # If the br2-external tree defines its ID, then export the path in the
> > >  # BR2_EXTERNAL_$(ID) variable.
> > >  
> > >  BR2_EXTERNAL_FILE = $(BASE_DIR)/.br-external
> > >  -include $(BR2_EXTERNAL_FILE)
> > > -ifeq ($(BR2_EXTERNAL),)
> > > -  $(shell rm -f $(BR2_EXTERNAL_FILE))
> > > -else
> > > +ifneq ($(BR2_EXTERNAL),)
> > >    _BR2_EXTERNAL = $(shell cd $(BR2_EXTERNAL) >/dev/null 2>&1 && pwd)
> > >    ifeq ($(_BR2_EXTERNAL),)
> > >      $(error BR2_EXTERNAL='$(BR2_EXTERNAL)' does not exist, relative to $(TOPDIR))
> > >    endif
> > >    override BR2_EXTERNAL := $(_BR2_EXTERNAL)
> > > -  $(shell echo BR2_EXTERNAL ?= $(BR2_EXTERNAL) > $(BR2_EXTERNAL_FILE))
> > >    ifneq ($(wildcard $(BR2_EXTERNAL)/external.id),)
> > >      BR2_EXTERNAL_ID := $(shell cat $(BR2_EXTERNAL)/external.id 2>/dev/null)
> > >      ifeq ($(BR2_EXTERNAL_ID),)
> > > @@ -173,6 +167,11 @@ else
> > >    BR2_EXTERNAL_MK = $(BR2_EXTERNAL)/external.mk
> > >  endif
> > >  
> > > +# This needs to be *after* we compute BR_EXTERNAL, above.
> > > +.PHONY: $(BR2_EXTERNAL_FILE)
> > > +$(BR2_EXTERNAL_FILE):
> > > +	@echo BR2_EXTERNAL ?= $(BR_EXTERNAL) >$@
> > 
> > s/BR_EXTERNAL/BR2_EXTERNAL/
> 
> Right, but it should be: s/BR2_EXTERNAL/_BR2_EXTERNAL/  (i.e. with a
> leading underscore) as we want to store the full path, which is
> constructed with the first line in the ifdef block.

No, it should really be BR2_EXTERNAL as you noticed.

Regards,
Yann E. MORIN.

> > It's probably a rebase issue since it's fixed in the following patch ;-)
> 
> Probably, probably... ;-)
> 
> Thanks for spotting.
> 
> Regards,
> Yann E. MORIN.
> 
> 
> -- 
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list