[Buildroot] [PATCH] prevent recursion in %_defconfig rules

Yann E. MORIN yann.morin.1998 at free.fr
Fri Jan 17 17:52:51 UTC 2014


Jérémy, All,

On 2014-01-07 17:22 +0100, Jérémy Rosen spake thusly:
> Signed-off-by: Jérémy Rosen <jeremy.rosen at openwide.fr>
> 
> ---
> The following command, run from a clean buildroot checkout
> 
> make O=.. BR2_EXTERNAL=.. raspberrypi_defconfig
> 
> cause the following output, and makes stop :
> 
> 
> make: *** Pas de règle pour fabriquer la cible « /home/rosen/tmp/buildroot/
> configs/../configs/../configs/../configs/<lots more >/../configs/
> raspberrypi_defconfig », nécessaire pour « /home/rosen/tmp/buildroot/
> configs/../configs/../configs/<lots more>/../configs/
> raspberrypi_defconfig ». Arrêt.
> 
> The problem is that the buildroot makefile has two rules to generate
> %_defconfig: One that depends on $(TOPDIR)/configs/%_defconfig and the
> other one that depends on $(BR2_EXTERNAL)/configs/%_defconfig.
> 
> When one rule checks for the file, the other rule becomes an implicit rule
> for the dependancy causing an infinite cross-recursion.
> 
> By overriding the implicit rule, we prevent the infinite recursion.

This breaks defconfigs from BR2_EXTERNAL when used with an out-of-tree
build:

    make -C /path/to/buildroot              \
         O=/path/to/build                   \
         BR2_EXTERNAL=/path/to/br2.external \
         yem_defconfig
    [--SNIP--]
    *** Can't find default configuration "/home/ymorin/dev/buildroot/buildroot/configs/yem_defconfig"!

:-(

I'm looking into it...

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.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list