-#include <msp/path/utils.h>
+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2009 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
+#include <msp/fs/path.h>
+#include <msp/fs/utils.h>
#include "virtualtarget.h"
using namespace std;
+using namespace Msp;
void VirtualTarget::check_rebuild()
{
- for(list<Target *>::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(FS::basename((*i)->get_name())+" needs rebuilding");
}
unsigned VirtualTarget::count_rebuild()
{
+ // Don't count virtual targets since "building" them causes no action.
return Target::count_rebuild()-rebuild;
}