X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftarget.cpp;h=dbdd950e4a3bd7570c920b6122b0ee3cfcecf3e2;hb=1ce9890cb950d516d5c1ede51264f1dcdde7356a;hp=d701859524b19ef662e8e6178ef352a011c2e7cb;hpb=68c59c6280c37222348e83c4f57de6116513d8fe;p=builder.git diff --git a/source/target.cpp b/source/target.cpp index d701859..dbdd950 100644 --- a/source/target.cpp +++ b/source/target.cpp @@ -122,6 +122,10 @@ void Target::prepare() } 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(); @@ -140,6 +144,8 @@ void Target::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();