]> git.tdb.fi Git - builder.git/blobdiff - source/virtualtarget.cpp
Add Symlink target and associated action
[builder.git] / source / virtualtarget.cpp
index b2a0d1cfd4a0f90a58e7eb29b0c97aefa63c2233..85bdbc0779fd26c0855d8a053338106be48d91a0 100644 (file)
@@ -7,21 +7,22 @@ Distributed under the LGPL
 
 #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)
+{
+       builder.add_target(this);
+}
+
 void VirtualTarget::check_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(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;
+                       mark_rebuild((*i)->get_name()+" needs rebuilding");
 }