]> git.tdb.fi Git - builder.git/blobdiff - source/virtualtarget.cpp
Add Id tag to all files
[builder.git] / source / virtualtarget.cpp
index 5c1e4c71a88d569b5392577edd7573e95e9e730e..926331704520ef6bab8f893595d88aa589a796d1 100644 (file)
@@ -1,10 +1,29 @@
+/* $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::Path::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;
 }