On 24 January 2013 15:47, Andreas Färber <afaer...@suse.de> wrote:
> config-devices.mak.d is included from Makefile.target, i.e. from inside
> the *-softmmu/ directory. It included the directory path, so never
> applied to the actual ./config-devices.mak. Symptoms were spurious
> build failures due to missing dependency on default-configs/pci.mak.
>
> Fix this by using `basename` to strip the directory path.

This patch seems to break the case it claims to be fixing:

(1) touching arm-softmmu.mak correctly provokes us to rebuild:

cam-vm-266:precise:qemu$ make V=1 arm-softmmu/config-devices.mak
make: `arm-softmmu/config-devices.mak' is up to date.
cam-vm-266:precise:qemu$ touch default-configs/arm-softmmu.mak
cam-vm-266:precise:qemu$ make V=1 arm-softmmu/config-devices.mak
/bin/sh 
/home/petmay01/linaro/qemu-from-laptop/qemu/scripts/make_device_config.sh
arm-softmmu/config-devices.mak default-configs/arm-softmmu.mak
cat  arm-softmmu/config-devices.mak | grep =y | sort -u > config-all-devices.mak
make: `arm-softmmu/config-devices.mak' is up to date.

(2) but touching pci.mak does not:

cam-vm-266:precise:qemu$ make V=1 arm-softmmu/config-devices.mak
make: `arm-softmmu/config-devices.mak' is up to date.
cam-vm-266:precise:qemu$ touch default-configs/pci.mak
cam-vm-266:precise:qemu$ make V=1 arm-softmmu/config-devices.mak
make: `arm-softmmu/config-devices.mak' is up to date.

(3) git revert 23bf49b5ec and rm arm-softmmu/config-devices.mak*
and then things work:
cam-vm-266:precise:qemu$ make V=1 arm-softmmu/config-devices.mak
make: `arm-softmmu/config-devices.mak' is up to date.
cam-vm-266:precise:qemu$ touch default-configs/arm-softmmu.mak
cam-vm-266:precise:qemu$ make V=1 arm-softmmu/config-devices.mak
/bin/sh 
/home/petmay01/linaro/qemu-from-laptop/qemu/scripts/make_device_config.sh
arm-softmmu/config-devices.mak default-configs/arm-softmmu.mak
cat  arm-softmmu/config-devices.mak | grep =y | sort -u > config-all-devices.mak
make: `arm-softmmu/config-devices.mak' is up to date.
cam-vm-266:precise:qemu$ touch default-configs/pci.mak
cam-vm-266:precise:qemu$ make V=1 arm-softmmu/config-devices.mak
/bin/sh 
/home/petmay01/linaro/qemu-from-laptop/qemu/scripts/make_device_config.sh
arm-softmmu/config-devices.mak default-configs/arm-softmmu.mak
cat  arm-softmmu/config-devices.mak | grep =y | sort -u > config-all-devices.mak
make: `arm-softmmu/config-devices.mak' is up to date.


In particular the commit message claims "config-devices.mak.d
is included from Makefile.target" but this is wrong -- this
is done from the top level Makefile via the line
"-include $(SUBDIR_DEVICES_MAK_DEP)". This is why you need
to have the full path in the emitted dependency line.

-- PMM

Reply via email to