Thread (4 messages) flat view 4 messages, 3 authors, 2005-05-11

Re: PPC uImage build not reporting correctly

From: <hidden>
Date: 2005-05-10 10:34:24
Also in: lkml

On Tue, 10 May 2005, Sam Ravnborg wrote:
On Mon, May 09, 2005 at 10:19:01AM -0500, Kumar Gala wrote:
quoted
On May 6, 2005, at 6:22 PM, [off-list ref] wrote:
quoted
On Fri, 6 May 2005, Kumar Gala wrote:
quoted
I tried the following w/o success:

$(obj)/uImage: $(obj)/vmlinux.gz
        $(Q)rm -f $@
        $(call if_changed,uimage)
        @echo ' Image: $@' $(shell if [ -f $@ ]; then echo 'is ready'; else echo 'not made'; fi)
Couldn't you eliminate the ($shell ..) construct altogether, like this?:

$(obj)/uImage: $(obj)/vmlinux.gz
       $(Q)rm -f $@
       $(call if_changed,uimage)
       @echo -n '? Image: $@'
       @if [ -f $@ ]; then echo 'is ready' ; else echo 'not made'; fi
Yes, and this seems to actually work.

Sam, does this look reasonable to you.  If so I will work up a patch.
Looks ok - but I do not see why use of $(shell ...) did not work out.
As I understand it, the $(shell ...) construct doesn't "work" in the case 
cited above because make evaluates/expands the $(shell ...) stuff while it 
is parsing the makefile and building the command list--i.e. before it has 
issued any commands to build anything.  What seems to be desired in this 
case is a file-existence test which runs "inline" with respect to the 
preceding commands.  The use of $(shell ...) inside a command 
subverts/preempts that natural sequence.  I think. :-)

Chris
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help