All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] make clean behavior
@ 2013-08-27  8:19 Thomas De Schampheleire
  2013-08-27  8:41 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas De Schampheleire @ 2013-08-27  8:19 UTC (permalink / raw)
  To: buildroot

Hi,

Is it intentional that 'make clean' is different depending on having a
.config file?

With .config there is a full clean:

rm -rf buildroot/output/host/usr/powerpc-buildroot-linux-gnu/sysroot
buildroot/output/target buildroot/output/images buildroot/output/host
buildroot/output/stamps buildroot/output/build
buildroot/output/toolchain buildroot/output/staging
buildroot/output/legal-info


but if you remove .config (and thus symbol BR2_HAVE_DOT_CONFIG) you
only have a partial clean:

rm -rf /repo/tdescham/reborn/buildroot-ppc/output/build
/repo/tdescham/reborn/buildroot-ppc/output/staging


Suppose you accidentally removed your .config, then you cannot easily
get a clean buildroot env anymore. The behavior is caused due to the
definition of variables like TARGET_DIR being inside a 'ifeq
($(BR2_HAVE_DOT_CONFIG),y)' statement.

I would propose to make sure that 'clean' works in all cases, by
moving the relevant variable definitions outside this if statement.

Best regards,
Thomas

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] make clean behavior
  2013-08-27  8:19 [Buildroot] make clean behavior Thomas De Schampheleire
@ 2013-08-27  8:41 ` Thomas Petazzoni
  2013-08-27 17:03   ` Arnout Vandecappelle
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2013-08-27  8:41 UTC (permalink / raw)
  To: buildroot

Dear Thomas De Schampheleire,

On Tue, 27 Aug 2013 10:19:02 +0200, Thomas De Schampheleire wrote:

> Is it intentional that 'make clean' is different depending on having a
> .config file?
> 
> With .config there is a full clean:
> 
> rm -rf buildroot/output/host/usr/powerpc-buildroot-linux-gnu/sysroot
> buildroot/output/target buildroot/output/images buildroot/output/host
> buildroot/output/stamps buildroot/output/build
> buildroot/output/toolchain buildroot/output/staging
> buildroot/output/legal-info
> 
> 
> but if you remove .config (and thus symbol BR2_HAVE_DOT_CONFIG) you
> only have a partial clean:
> 
> rm -rf /repo/tdescham/reborn/buildroot-ppc/output/build
> /repo/tdescham/reborn/buildroot-ppc/output/staging
> 
> 
> Suppose you accidentally removed your .config, then you cannot easily
> get a clean buildroot env anymore. The behavior is caused due to the
> definition of variables like TARGET_DIR being inside a 'ifeq
> ($(BR2_HAVE_DOT_CONFIG),y)' statement.
> 
> I would propose to make sure that 'clean' works in all cases, by
> moving the relevant variable definitions outside this if statement.

This has also annoyed me a few times, and I don't quite see why 'make
clean' should have a different behavior between the has .config case
and the !has .config case.

So, I agree with your proposal.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] make clean behavior
  2013-08-27  8:41 ` Thomas Petazzoni
@ 2013-08-27 17:03   ` Arnout Vandecappelle
  0 siblings, 0 replies; 3+ messages in thread
From: Arnout Vandecappelle @ 2013-08-27 17:03 UTC (permalink / raw)
  To: buildroot

On 08/27/13 10:41, Thomas Petazzoni wrote:
> Dear Thomas De Schampheleire,
>
> On Tue, 27 Aug 2013 10:19:02 +0200, Thomas De Schampheleire wrote:
>
>> Is it intentional that 'make clean' is different depending on having a
>> .config file?
>>
>> With .config there is a full clean:
>>
>> rm -rf buildroot/output/host/usr/powerpc-buildroot-linux-gnu/sysroot
>> buildroot/output/target buildroot/output/images buildroot/output/host
>> buildroot/output/stamps buildroot/output/build
>> buildroot/output/toolchain buildroot/output/staging
>> buildroot/output/legal-info
>>
>>
>> but if you remove .config (and thus symbol BR2_HAVE_DOT_CONFIG) you
>> only have a partial clean:
>>
>> rm -rf /repo/tdescham/reborn/buildroot-ppc/output/build
>> /repo/tdescham/reborn/buildroot-ppc/output/staging
>>
>>
>> Suppose you accidentally removed your .config, then you cannot easily
>> get a clean buildroot env anymore. The behavior is caused due to the
>> definition of variables like TARGET_DIR being inside a 'ifeq
>> ($(BR2_HAVE_DOT_CONFIG),y)' statement.
>>
>> I would propose to make sure that 'clean' works in all cases, by
>> moving the relevant variable definitions outside this if statement.
>
> This has also annoyed me a few times, and I don't quite see why 'make
> clean' should have a different behavior between the has .config case
> and the !has .config case.

  Unfortunately, $(HOST_DIR) and therefore $(STAGING_DIR) (which is 
actually stupid to remove since it is under $(HOST_DIR) depend on 
BR2_HOST_DIR, so you'll need to take special action in the case when 
there is no .config.

  But otherwise I agree.

  Regards,
  Arnout



-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-08-27 17:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-27  8:19 [Buildroot] make clean behavior Thomas De Schampheleire
2013-08-27  8:41 ` Thomas Petazzoni
2013-08-27 17:03   ` Arnout Vandecappelle

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.