[Buildroot] [PATCH] Makefile: allow defconfig to be in a sub-directory

Yann E. MORIN yann.morin.1998 at free.fr
Fri May 16 18:26:20 UTC 2025


Arnout, All,

On 2025-05-16 19:46 +0200, Arnout Vandecappelle spake thusly:
> On 15/05/2025 23:18, Yann E. MORIN wrote:
> > Currently, the defconfigs must all live in the top-level configs/
[--SNIP--]
>  It is actually only about list-defconfigs, so I rephrased:

Right.

> Makefile: include defconfigs in sub-directories in list-defconfigs
> 
> Currently, list-defconfigs only lists the defconfigs that live
>  live in the top-level configs/ directory. For the in-tree defconfigs

Spurious leading space; double 'live'. But no worries, I could have been
the one doing those typoes. ;-)

Thanks! :-)

Regards,
Yann E. MORIN.

> this is indeed the case, but it is possible to manage the configs in a
> br2-external tree with sub-directories.
> 
> A few examples:
>   - for a given board, a first defconfig is the full system, and a
>     second is the rescue system;
>   - for a given board, two defconfigs implement an A/B feature set;
>   - a set of configurations targetting various famillies of systems each
>     running on different hardware, sorted per familly.
> 
> Extend list-defconfigs to look for and report defconfigs in
> sub-directories of the top-level configs/.
> 
> 
> 
>  Applied to master, thanks.
> 
>  Regards,
>  Arnout
> 
> 
> > 
> > Signed-off-by: Yann E. MORIN <yann.morin.1998 at free.fr>
> > ---
> >   Makefile | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/Makefile b/Makefile
> > index 411e1de515..c0a41cabd5 100644
> > --- a/Makefile
> > +++ b/Makefile
> > @@ -1218,7 +1218,7 @@ help:
> >   # $(2): br2-external name, empty for bundled
> >   define list-defconfigs
> >   	@first=true; \
> > -	for defconfig in $(1)/configs/*_defconfig; do \
> > +	for defconfig in $$(find $(1)/configs -name '*_defconfig' |sort); do \
> >   		[ -f "$${defconfig}" ] || continue; \
> >   		if $${first}; then \
> >   			if [ "$(2)" ]; then \
> > @@ -1228,7 +1228,7 @@ define list-defconfigs
> >   			fi; \
> >   			first=false; \
> >   		fi; \
> > -		defconfig="$${defconfig##*/}"; \
> > +		defconfig="$${defconfig#$(1)/configs/}"; \
> >   		printf "  %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \
> >   	done; \
> >   	$${first} || printf "\n"
> 

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


More information about the buildroot mailing list