* [Buildroot] [PATCH 0 of 2] 'make clean' improvements
@ 2013-09-30 11:09 Thomas De Schampheleire
2013-09-30 11:09 ` [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present Thomas De Schampheleire
2013-09-30 11:09 ` [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR Thomas De Schampheleire
0 siblings, 2 replies; 8+ messages in thread
From: Thomas De Schampheleire @ 2013-09-30 11:09 UTC (permalink / raw)
To: buildroot
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
---
Makefile | 25 +++++++++++--------------
1 files changed, 11 insertions(+), 14 deletions(-)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present
2013-09-30 11:09 [Buildroot] [PATCH 0 of 2] 'make clean' improvements Thomas De Schampheleire
@ 2013-09-30 11:09 ` Thomas De Schampheleire
2013-09-30 12:04 ` Thomas Petazzoni
2013-09-30 11:09 ` [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR Thomas De Schampheleire
1 sibling, 1 reply; 8+ messages in thread
From: Thomas De Schampheleire @ 2013-09-30 11:09 UTC (permalink / raw)
To: buildroot
The 'make clean' recipe is using variables that are not defined without .config
file, causing only a partial cleanup when the .config file is accidentally
deleted.
This patch moves those variables that do not depend on values from .config
outside the BR2_HAVE_DOT_CONFIG check, so that 'make clean' is much more similar
with and without .config.
The HOST_DIR (and the derived STAGING_DIR) are determined from BR2_HOST_DIR in
.config, so the host directory can still not be cleaned correctly without making
assumptions, if no .config is present.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
---
Note: we could improve the HOST_DIR cleanup by removing 'output/host'
unconditionally, but it's an assumption. Let me know your thoughts on this, it
could be fixed in another patch.
Makefile | 23 ++++++++++-------------
1 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -193,7 +193,17 @@ BASE_DIR := $(shell mkdir -p $(O) && cd
$(if $(BASE_DIR),, $(error output directory "$(O)" does not exist))
BUILD_DIR:=$(BASE_DIR)/build
+STAMP_DIR:=$(BASE_DIR)/stamps
+BINARIES_DIR:=$(BASE_DIR)/images
+TARGET_DIR:=$(BASE_DIR)/target
+LEGAL_INFO_DIR=$(BASE_DIR)/legal-info
+REDIST_SOURCES_DIR=$(LEGAL_INFO_DIR)/sources
+LICENSE_FILES_DIR=$(LEGAL_INFO_DIR)/licenses
+LEGAL_MANIFEST_CSV=$(LEGAL_INFO_DIR)/manifest.csv
+LEGAL_LICENSES_TXT=$(LEGAL_INFO_DIR)/licenses.txt
+LEGAL_WARNINGS=$(LEGAL_INFO_DIR)/.warnings
+LEGAL_REPORT=$(LEGAL_INFO_DIR)/README
ifeq ($(BR2_HAVE_DOT_CONFIG),y)
@@ -262,21 +272,8 @@ HOST_DIR:=$(call qstrip,$(BR2_HOST_DIR))
# locales to generate
GENERATE_LOCALE=$(call qstrip,$(BR2_GENERATE_LOCALE))
-# stamp (dependency) files go here
-STAMP_DIR:=$(BASE_DIR)/stamps
-
-BINARIES_DIR:=$(BASE_DIR)/images
-TARGET_DIR:=$(BASE_DIR)/target
TARGET_SKELETON=$(TOPDIR)/system/skeleton
-LEGAL_INFO_DIR=$(BASE_DIR)/legal-info
-REDIST_SOURCES_DIR=$(LEGAL_INFO_DIR)/sources
-LICENSE_FILES_DIR=$(LEGAL_INFO_DIR)/licenses
-LEGAL_MANIFEST_CSV=$(LEGAL_INFO_DIR)/manifest.csv
-LEGAL_LICENSES_TXT=$(LEGAL_INFO_DIR)/licenses.txt
-LEGAL_WARNINGS=$(LEGAL_INFO_DIR)/.warnings
-LEGAL_REPORT=$(LEGAL_INFO_DIR)/README
-
# Location of a file giving a big fat warning that output/target
# should not be used as the root filesystem.
TARGET_DIR_WARNING_FILE=$(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR
2013-09-30 11:09 [Buildroot] [PATCH 0 of 2] 'make clean' improvements Thomas De Schampheleire
2013-09-30 11:09 ` [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present Thomas De Schampheleire
@ 2013-09-30 11:09 ` Thomas De Schampheleire
2013-10-01 17:21 ` Arnout Vandecappelle
2013-10-01 19:59 ` Peter Korsgaard
1 sibling, 2 replies; 8+ messages in thread
From: Thomas De Schampheleire @ 2013-09-30 11:09 UTC (permalink / raw)
To: buildroot
Since STAGING_DIR is defined as (package/Makefile.in):
STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
removing HOST_DIR will automatically remove STAGING_DIR. This patch updates
'make clean' based on this knowledge.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -748,7 +748,7 @@ printvars:
$(info $V=$($V) ($(value $V)))))
clean:
- rm -rf $(STAGING_DIR) $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
+ rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
$(STAMP_DIR) $(BUILD_DIR) $(BASE_DIR)/staging \
$(LEGAL_INFO_DIR)
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present
2013-09-30 11:09 ` [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present Thomas De Schampheleire
@ 2013-09-30 12:04 ` Thomas Petazzoni
2013-10-01 17:20 ` Arnout Vandecappelle
0 siblings, 1 reply; 8+ messages in thread
From: Thomas Petazzoni @ 2013-09-30 12:04 UTC (permalink / raw)
To: buildroot
Dear Thomas De Schampheleire,
On Mon, 30 Sep 2013 13:09:26 +0200, Thomas De Schampheleire wrote:
> The 'make clean' recipe is using variables that are not defined without .config
> file, causing only a partial cleanup when the .config file is accidentally
> deleted.
>
> This patch moves those variables that do not depend on values from .config
> outside the BR2_HAVE_DOT_CONFIG check, so that 'make clean' is much more similar
> with and without .config.
Yeah, this has bothered me for a while, so I agree with that.
> The HOST_DIR (and the derived STAGING_DIR) are determined from BR2_HOST_DIR in
> .config, so the host directory can still not be cleaned correctly without making
> assumptions, if no .config is present.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
>
> ---
> Note: we could improve the HOST_DIR cleanup by removing 'output/host'
> unconditionally, but it's an assumption. Let me know your thoughts on this, it
> could be fixed in another patch.
Hum, yeah, indeed. This means that the contents of output/host are not
removed, which is quite annoying. I don't immediately see a solution to
this problem, though.
Best regards,
Thomas
--
Thomas Petazzoni, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present
2013-09-30 12:04 ` Thomas Petazzoni
@ 2013-10-01 17:20 ` Arnout Vandecappelle
2013-10-01 19:55 ` Peter Korsgaard
0 siblings, 1 reply; 8+ messages in thread
From: Arnout Vandecappelle @ 2013-10-01 17:20 UTC (permalink / raw)
To: buildroot
On 09/30/13 14:04, Thomas Petazzoni wrote:
> Dear Thomas De Schampheleire,
>
> On Mon, 30 Sep 2013 13:09:26 +0200, Thomas De Schampheleire wrote:
>> The 'make clean' recipe is using variables that are not defined without .config
>> file, causing only a partial cleanup when the .config file is accidentally
>> deleted.
>>
>> This patch moves those variables that do not depend on values from .config
>> outside the BR2_HAVE_DOT_CONFIG check, so that 'make clean' is much more similar
>> with and without .config.
>
> Yeah, this has bothered me for a while, so I agree with that.
>
>> The HOST_DIR (and the derived STAGING_DIR) are determined from BR2_HOST_DIR in
>> .config, so the host directory can still not be cleaned correctly without making
>> assumptions, if no .config is present.
>>
>> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
>>
>> ---
>> Note: we could improve the HOST_DIR cleanup by removing 'output/host'
>> unconditionally, but it's an assumption. Let me know your thoughts on this, it
>> could be fixed in another patch.
>
> Hum, yeah, indeed. This means that the contents of output/host are not
> removed, which is quite annoying. I don't immediately see a solution to
> this problem, though.
I would be OK with defining HOST_DIR as $(BASE_DIR)/host before .config
is included. If .config exists, it will be overridden afterwards.
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] 8+ messages in thread
* [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR
2013-09-30 11:09 ` [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR Thomas De Schampheleire
@ 2013-10-01 17:21 ` Arnout Vandecappelle
2013-10-01 19:59 ` Peter Korsgaard
1 sibling, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2013-10-01 17:21 UTC (permalink / raw)
To: buildroot
On 09/30/13 13:09, Thomas De Schampheleire wrote:
> Since STAGING_DIR is defined as (package/Makefile.in):
>
> STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
> STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
>
> removing HOST_DIR will automatically remove STAGING_DIR. This patch updates
> 'make clean' based on this knowledge.
>
> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
>
> ---
> Makefile | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/Makefile b/Makefile
> --- a/Makefile
> +++ b/Makefile
> @@ -748,7 +748,7 @@ printvars:
> $(info $V=$($V) ($(value $V)))))
>
> clean:
> - rm -rf $(STAGING_DIR) $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
> + rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
> $(STAMP_DIR) $(BUILD_DIR) $(BASE_DIR)/staging \
> $(LEGAL_INFO_DIR)
>
>
--
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] 8+ messages in thread
* [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present
2013-10-01 17:20 ` Arnout Vandecappelle
@ 2013-10-01 19:55 ` Peter Korsgaard
0 siblings, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2013-10-01 19:55 UTC (permalink / raw)
To: buildroot
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:
Hi,
>>> Note: we could improve the HOST_DIR cleanup by removing
>>> 'output/host' unconditionally, but it's an assumption. Let me know
>>> your thoughts on this, it could be fixed in another patch.
>>
>> Hum, yeah, indeed. This means that the contents of output/host are not
>> removed, which is quite annoying. I don't immediately see a solution to
>> this problem, though.
Arnout> I would be OK with defining HOST_DIR as $(BASE_DIR)/host before
Arnout> .config is included. If .config exists, it will be overridden
Arnout> afterwards.
Yes, that sounds like a plan. The only potential issue is if somebody
builds out of tree _AND_ has changed the BR2_HOST_DIR _AND_ runs make clean
in a directory where they have an important 'host' subdir.
That's probably all fairly unlikely to be a real issue.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR
2013-09-30 11:09 ` [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR Thomas De Schampheleire
2013-10-01 17:21 ` Arnout Vandecappelle
@ 2013-10-01 19:59 ` Peter Korsgaard
1 sibling, 0 replies; 8+ messages in thread
From: Peter Korsgaard @ 2013-10-01 19:59 UTC (permalink / raw)
To: buildroot
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin@gmail.com> writes:
Thomas> Since STAGING_DIR is defined as (package/Makefile.in):
Thomas> STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
Thomas> STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
Thomas> removing HOST_DIR will automatically remove STAGING_DIR. This
Thomas> patch updates 'make clean' based on this knowledge.
Thomas> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Committed, thanks.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-10-01 19:59 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-30 11:09 [Buildroot] [PATCH 0 of 2] 'make clean' improvements Thomas De Schampheleire
2013-09-30 11:09 ` [Buildroot] [PATCH 1 of 2] make clean: improve when no .config present Thomas De Schampheleire
2013-09-30 12:04 ` Thomas Petazzoni
2013-10-01 17:20 ` Arnout Vandecappelle
2013-10-01 19:55 ` Peter Korsgaard
2013-09-30 11:09 ` [Buildroot] [PATCH 2 of 2] make clean: remove redundant removal of STAGING_DIR Thomas De Schampheleire
2013-10-01 17:21 ` Arnout Vandecappelle
2013-10-01 19:59 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox