Patchwork [U-Boot] build: Fix make errors generated when building 'distclean'

login
register
mail settings
Submitter Vadim Bendebury
Date March 28, 2013, 12:34 a.m.
Message ID <1364430858-22175-1-git-send-email-vbendeb@chromium.org>
Download mbox | patch
Permalink /patch/231863/
State Accepted
Delegated to: Tom Rini
Headers show

Comments

Vadim Bendebury - March 28, 2013, 12:34 a.m.
It was noticed that when `make distclean' is run, the make process
terminates with error reporting something like:

rm: cannot remove '/tmp/foobar/': Is a directory
make: *** [clobber] Error 1

The problem is that the list of files targeted for removal includes a
directory in case CONFIG_SPL_TARGET is not set.

The fix has been tested as follows:

 Ran several times the following sequence of commands:

     CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- make O=/tmp/foobar smdk5250_config
     CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- make O=/tmp/foobar distclean

 it did not cause an error, it used to before this change.

Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
---
 Makefile | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
Simon Glass - March 29, 2013, 5:58 p.m.
On Wed, Mar 27, 2013 at 5:34 PM, Vadim Bendebury <vbendeb@chromium.org>wrote:

> It was noticed that when `make distclean' is run, the make process
> terminates with error reporting something like:
>
> rm: cannot remove '/tmp/foobar/': Is a directory
> make: *** [clobber] Error 1
>
> The problem is that the list of files targeted for removal includes a
> directory in case CONFIG_SPL_TARGET is not set.
>
> The fix has been tested as follows:
>
>  Ran several times the following sequence of commands:
>
>      CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- make O=/tmp/foobar
> smdk5250_config
>      CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- make O=/tmp/foobar distclean
>
>  it did not cause an error, it used to before this change.
>
> Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
>

Acked-by: Simon Glass <sjg@chromium.org>
Tom Rini - April 3, 2013, 3:30 p.m.
On Wed, Mar 27, 2013 at 02:34:18PM -0000, Vadim Bendebury wrote:

> It was noticed that when `make distclean' is run, the make process
> terminates with error reporting something like:
> 
> rm: cannot remove '/tmp/foobar/': Is a directory
> make: *** [clobber] Error 1
> 
> The problem is that the list of files targeted for removal includes a
> directory in case CONFIG_SPL_TARGET is not set.
> 
> The fix has been tested as follows:
> 
>  Ran several times the following sequence of commands:
> 
>      CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- make O=/tmp/foobar smdk5250_config
>      CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- make O=/tmp/foobar distclean
> 
>  it did not cause an error, it used to before this change.
> 
> Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
> Acked-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

Patch

diff --git a/Makefile b/Makefile
index 12763ce..23f266a 100644
--- a/Makefile
+++ b/Makefile
@@ -406,8 +406,10 @@  ALL-y += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map
 ALL-$(CONFIG_NAND_U_BOOT) += $(obj)u-boot-nand.bin
 ALL-$(CONFIG_ONENAND_U_BOOT) += $(obj)u-boot-onenand.bin
 ALL-$(CONFIG_SPL) += $(obj)spl/u-boot-spl.bin
-ALL-$(CONFIG_SPL) += $(obj)$(subst ",,$(CONFIG_SPL_TARGET))
 ALL-$(CONFIG_OF_SEPARATE) += $(obj)u-boot.dtb $(obj)u-boot-dtb.bin
+ifneq ($(CONFIG_SPL_TARGET),)
+ALL-$(CONFIG_SPL) += $(obj)$(subst ",,$(CONFIG_SPL_TARGET))
+endif
 
 # enable combined SPL/u-boot/dtb rules for tegra
 ifneq ($(CONFIG_TEGRA),)