X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fvirtualtarget.cpp;h=a8692fbbaca2faa634dbc24e62e5d51d1dba5f5d;hb=43bd25ffcb0b4f7882773f4676b209a99cb73c04;hp=d3f80df2c762812a5bbfe06245a6215c32c51504;hpb=0d80cabf649b931b26e7055385156c75a7385d35;p=builder.git diff --git a/source/virtualtarget.cpp b/source/virtualtarget.cpp index d3f80df..a8692fb 100644 --- a/source/virtualtarget.cpp +++ b/source/virtualtarget.cpp @@ -1,11 +1,21 @@ -#include +#include +#include +#include "builder.h" #include "virtualtarget.h" using namespace std; +using namespace Msp; + +VirtualTarget::VirtualTarget(Builder &b, const string &n): + Target(b, 0, n) +{ + builder.add_target(this); +} void VirtualTarget::check_rebuild() { - for(list::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i) + // Virtual targets are only rebuilt if their dependencies need rebuilding. + for(TargetList::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i) if((*i)->get_rebuild()) - mark_rebuild(Msp::Path::basename((*i)->get_name())+" needs rebuilding"); + mark_rebuild((*i)->get_name()+" needs rebuilding"); }