On May 6, 2005, at 4:45 PM, Sam Ravnborg wrote:

> > Sam,
>  >
>  > Tom pointed me at you to look at a makefile issue with
>  > arch/ppc/boot/images/Makefile.? When I do the following:
>  >
>  > $ make uImage
>  >??? CHK???? include/linux/version.h
> > make[1]: `arch/ppc/kernel/asm-offsets.s' is up to date.
>  >??? CHK???? include/linux/compile.h
> >??? CHK???? usr/initramfs_list
> >??? UIMAGE? arch/ppc/boot/images/uImage
> > Image Name:?? Linux-2.6.12-rc3
>  > Created:????? Fri May? 6 10:19:28 2005
> > Image Type:?? PowerPC Linux Kernel Image (gzip compressed)
>  > Data Size:??? 993322 Bytes = 970.04 kB = 0.95 MB
>  > Load Address: 0x00000000
>  > Entry Point:? 0x00000000
>  >??? Image: arch/ppc/boot/images/uImage not made
>  >
>  > The issue is that the file arch/ppc/boot/images/uImage does exit 
> (the
>  > 'not made' is not correct).
>  >
>  > $(obj)/uImage: $(obj)/vmlinux.gz
> >????????? $(Q)rm -f $@
>  >????????? $(call if_changed,uimage)
> >????????? @echo '? Image: $@' $(if $(wildcard $@),'is ready','not 
> made')
>  >
>  > It seems the $(wildcard $@) expands at the start of the rule.? Any
>  > ideas?
>
> It probarly uses the build-in cache in make - and I see no easy way to
>  tell make not to use the cache in this case.
>  Could you try to replace "$(wildcard $@)" with something like:
> $(shell if -f $@ echo Y; fi)
>
> Untested - I'm not on a Linux box right now.

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)

- kumar

Reply via email to