+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#include <msp/path/utils.h>
#include "virtualtarget.h"
using namespace std;
+/**
+Virtual targets are only rebuilt if their dependencies need rebuilding.
+*/
void VirtualTarget::check_rebuild()
{
- for(list<Target *>::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i)
+ for(TargetList::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i)
if((*i)->get_rebuild())
- mark_rebuild((*i)->get_name()+" needs rebuilding");
+ mark_rebuild(Msp::basename((*i)->get_name())+" needs rebuilding");
+}
+
+/**
+Don't count virtual targets since "building" them causes no action.
+*/
+unsigned VirtualTarget::count_rebuild()
+{
+ return Target::count_rebuild()-rebuild;
}