X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fobjectfile.cpp;h=7208f424bd1b001493cec14420df2d92bf7c4fae;hb=8575b50479945c3ad6ab0e4ea7eb116da5b5f04d;hp=cee8c87d2d6078b90210aa81615d48bd0db0aaf9;hpb=07503a34b80778fe74977f0fb0c2094c92d64ce0;p=builder.git diff --git a/source/objectfile.cpp b/source/objectfile.cpp index cee8c87..7208f42 100644 --- a/source/objectfile.cpp +++ b/source/objectfile.cpp @@ -44,7 +44,7 @@ void ObjectFile::find_dependencies() void ObjectFile::find_dependencies(FileTarget *tgt) { FileTarget *rtgt = dynamic_cast(tgt->get_real_target()); - const Dependencies &tdeps = rtgt->get_dependencies(); + const Dependencies &tdeps = rtgt->get_transitive_dependencies(); Dependencies deps_to_add; if(rtgt==tgt) { @@ -86,5 +86,9 @@ void ObjectFile::find_dependencies(FileTarget *tgt) for(Dependencies::const_iterator i=deps_to_add.begin(); i!=deps_to_add.end(); ++i) if(find(depends.begin(), depends.end(), *i)==depends.end()) + { add_dependency(**i); + if((*i)->get_real_target()->is_buildable()) + (*i)->signal_modified.connect(sigc::mem_fun(this, static_cast(&ObjectFile::find_dependencies))); + } }