Target::Target(Builder &b, const string &n):
builder(b),
- package(0),
- component(0),
- name(n),
- tool(0),
- state(INIT),
- primary_target(0)
+ name(n)
{
builder.get_build_graph().add_target(this);
}
}
state = PREPARING;
+ /* Prepare existing dependencies early, because their information may be
+ needed to find other dependencies. */
+ for(Target *d: depends)
+ d->prepare();
if(tool)
tool->prepare();
broken |= (component && !component->get_problems().empty());
}
+ /* Now that all dependencies are known, prepare them again. This will do
+ nothing to already prepared targets. */
for(Target *d: depends)
{
d->prepare();