[U-Boot] make clean problem
Eugene O'Brien
Eugene.O'Brien at advantechamt.com
Wed Oct 8 15:52:35 CEST 2008
Hello,
I just stumbled on a problem with the make clean command in U-Boot. When
executing make clean I noticed that some programmes that should have
been deleted were not deleted. These were the programmes to be deleted
with instructions such as:
@rm -f $(obj)tools/env/{fw_printenv,fw_setenv}
The reason is (after scratching my head for a few hours) that on my
platform BASH is not the default shell. I am using Ubuntu and /bin/sh is
linked to dash (see https://wiki.ubuntu.com/DashAsBinSh for details). As
I am not an expert on shells, my guess is that the above construct is a
"bashism" and not compliant to /bin/sh.
There are two trivial solutions to this problem:
(a) Add a line SHELL=/bin/bash somewhere in top level Makefile
(b) Write out each individual file's path name separately in the @rm
command line.
What is best course of action? Choosing (a) means that we are specifying
BASH as a requirement for the U-Boot HOST environment. If this is
already the case then solution (a) is perhaps the best and limits U-Boot
regression testing to one shell type. Otherwise if we want to be
compatible with /bin/sh then I believe solution (b) is preferable.
Regards,
Eugene O'Brien
More information about the U-Boot
mailing list