Il 24/07/2012 13:53, Andreas Färber ha scritto:
> Am 24.07.2012 13:43, schrieb Paolo Bonzini:
>> Il 24/07/2012 13:38, Andreas Färber ha scritto:
>>>>> +$(foreach var,$(nested-vars), $(eval \
>>>>> +  -include $(addsuffix *.d, $(sort $(dir $($(var)))))))
>>>>>  endef
>>>>>
>>> Are you sure? Dependencies are not guaranteed to be in one of the
>>> unnested variables, thought we ran into some issues earlier... In
>>> particular I'm thinking of tcg/*.d and of *.d in .user, .target, those
>>> that are actually recursed into.
>>
>> obj-y is a nested variable:
>>
>>   nested-vars += obj-y
>>
>>   # This resolves all nested paths, so it must come last
>>   include $(SRC_PATH)/Makefile.objs
>>
>> $(dir $(obj-y)) contains tcg/ and from there you get tcg/*.d.
>>
>> The only makefile that doesn't use the nesting mechanism is tests/Makefile.
> 
> I think you misunderstood: My worry is
> 
> qemu-something: $(obj-y) foo bar baz
> 
> obj-y and friends are handled, foo, bar, baz are not. If you checked all
> those cases, fine with me. :) Otherwise the new unnesting rule is fine,
> but not all "*.d" inclusions could be deleted.

Ah, yes, I did.  The only cases are in the toplevel Makefile (and the
included tests/Makefile), hence this statement left in that Makefile:

+-include $(wildcard *.d tests/*.d)

Paolo

Reply via email to