[Buildroot] Target rebuilding

Jérôme Pouiller jezz at sysmic.org
Fri Jan 18 09:43:51 UTC 2013

Hello Stephan,
On Thursday 17 January 2013 14:27:46 Stephan Hoffmann wrote:
> Am 17.01.2013 12:04, schrieb Jérôme Pouiller:
> > It is handy to do tests directly in target/. But after some time, it is
> > necessary to make a new fresh target/ directory.
> This topic comes up from time to time. Once upon a time I sent a patch
> to introduce a "make target-clean" (
> http://lists.busybox.net/pipermail/buildroot/2012-October/060484.html )
> , but it does not seem that this feature can be implemented in a
> reliable way, especially when libraries are removed from .config.
I am agreee with this thread. Since we cannot prove correctness it is not a 
good idea to give a target to this.

Nevertheless, in 90% of cases, I know I can rebuild target/ without recompile 
everything and this "hack" allow to divide by 500 time to rebuild target/. I 
would like to make this procedure easier to learn for users.

I asked myself if it was not possible to make this procedure more intuitive 
without breaking everything. That why I suggest these small changes. Each of 
them can be done independently. 

IMHO these changes would make process more coherent and would bring a better 
usage of Buildroot. But I understand it is subjective. 

> So for now I fear we have to stick to "make clean && make" if we want to
> clean up our file system.
Sure. But, if it is the only answer I give, my interlocutor will reply me that 
Buildroot is painful (which make me angry for all rest of the day).

> >  The current procedure to do
> > 
> > this is:
> > 
> > * remove build/.root (or remove target/ if you want to throw all your
> > work)
> What's the use in removing the stamp file and keeping the target
> directory? I think the whole proccedure is meant to chean up the target
> file system, isn't it?
Right. It was mainly to point out "build/.root" is not an intuitive path.

> > I suggest following changes:
> >  1. Move build/.root to stamps/. Since it is hidden, many user forget this
> > file exist.
> >
> >  2. All stamps files are in subdirectories of build/. I suggest to move 
> > stamps/ to build/stamps/
> >
> >  3. Buildroot toolchain should create a stamp files to be uniform with
> >  other toolchains. In add, target/lib/libc.so.0 never exists when
> >  PREFER_STATIC_LIB is enable.
> >
> >  4. To be consistent stamps/*-toolchain-installed may be renamed 
> > stamps/.stamp_target_installed or stamps/.stamp_toolchain_target_installed
> > or toolchain/.stamp_target_installed. We may add a README file to explain
> > what is purpose of this apparently empty directory.
> >
> >   5. stamps/ext-toolchain-installed currently copy libc in staging/ and in 
> > target/. It may be splited in two rules: stamps/ext-toolchain-target-
> > installed and stamps/ext-toolchain-staging-installed.


Jérôme Pouiller

More information about the buildroot mailing list