X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvirtualtarget.cpp;h=a7b4cd73b35362d2d0586ecda7e570d2abaf8b07;hb=e4c839cacd8572ade951f4961e8e145d20e0103f;hp=3f0081ce0dd7b4a0dd45d3329345f150d1c1191f;hpb=4d0d003b022943d8a0e39ba19078bab8d32d8857;p=builder.git diff --git a/source/virtualtarget.cpp b/source/virtualtarget.cpp index 3f0081c..a7b4cd7 100644 --- a/source/virtualtarget.cpp +++ b/source/virtualtarget.cpp @@ -1,29 +1,25 @@ -/* $Id$ - -This file is part of builder -Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - -#include +#include +#include +#include "builder.h" #include "virtualtarget.h" using namespace std; +using namespace Msp; + +VirtualTarget::VirtualTarget(Builder &b, const string &n): + Target(b, n) +{ } -/** -Virtual targets are only rebuilt if their dependencies need rebuilding. -*/ void VirtualTarget::check_rebuild() { - for(TargetList::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i) - if((*i)->get_rebuild()) - mark_rebuild(Msp::basename((*i)->get_name())+" needs rebuilding"); + // Virtual targets are only rebuilt if their dependencies need rebuilding. + for(Dependencies::iterator i=depends.begin(); (i!=depends.end() && !needs_rebuild()); ++i) + if((*i)->needs_rebuild()) + mark_rebuild((*i)->get_name()+" needs rebuilding"); } -/** -Don't count virtual targets since "building" them causes no action. -*/ -unsigned VirtualTarget::count_rebuild() +Task *VirtualTarget::build() { - return Target::count_rebuild()-rebuild; + state = UPTODATE; + return 0; }