-#include <msp/path/utils.h>
+#include <msp/fs/path.h>
+#include <msp/fs/utils.h>
+#include "builder.h"
#include "virtualtarget.h"
using namespace std;
+using namespace Msp;
+
+VirtualTarget::VirtualTarget(Builder &b, const string &n):
+ Target(b, 0, n)
+{ }
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(Dependencies::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((*i)->get_name()+" needs rebuilding");
}