X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fvirtualtarget.cpp;h=85bdbc0779fd26c0855d8a053338106be48d91a0;hb=af2dac0d09df4782060dd131f2a761e8a46a8d55;hp=9b41a80a667f7b872b7031a723d52f0a7aedba41;hpb=a2adbd9c0a8d7a7567848c4c6bdbf0de6ba32bb1;p=builder.git diff --git a/source/virtualtarget.cpp b/source/virtualtarget.cpp index 9b41a80..85bdbc0 100644 --- a/source/virtualtarget.cpp +++ b/source/virtualtarget.cpp @@ -1,31 +1,28 @@ /* $Id$ This file is part of builder -Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions +Copyright © 2006-2009 Mikko Rasa, Mikkosoft Productions Distributed under the LGPL */ #include #include +#include "builder.h" #include "virtualtarget.h" using namespace std; using namespace Msp; -/** -Virtual targets are only rebuilt if their dependencies need rebuilding. -*/ -void VirtualTarget::check_rebuild() +VirtualTarget::VirtualTarget(Builder &b, const string &n): + Target(b, 0, n) { - for(TargetList::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i) - if((*i)->get_rebuild()) - mark_rebuild(FS::basename((*i)->get_name())+" needs rebuilding"); + builder.add_target(this); } -/** -Don't count virtual targets since "building" them causes no action. -*/ -unsigned VirtualTarget::count_rebuild() +void VirtualTarget::check_rebuild() { - return Target::count_rebuild()-rebuild; + // 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((*i)->get_name()+" needs rebuilding"); }