]> git.tdb.fi Git - builder.git/blobdiff - source/target.h
Fix rebuild graph walking over symlinks
[builder.git] / source / target.h
index 01b115a7a6b5ddf2e008f39299c7c392ae84bcd2..2881d42fcda00dc2409d57518eddaa48a357181b 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$
 
 This file is part of builder
-Copyright © 2006-2009  Mikko Rasa, Mikkosoft Productions
+Copyright © 2006-2010  Mikko Rasa, Mikkosoft Productions
 Distributed under the LGPL
 */
 
@@ -56,7 +56,15 @@ public:
        dependencies are up-to-date, returns this target.  If there are no targets
        ready to be built (maybe because they are being built right now), returns 0.
        */
-       Target *get_buildable_target();
+       virtual Target *get_buildable_target();
+
+       /**
+       If this target is a proxy for another (such as Install or Symlink), return
+       that target.  Otherwise, return the target itself.
+
+       Implementors should call the function recursively to find the final target.
+       */
+       virtual Target *get_real_target() { return this; }
 
        bool is_buildable() const { return buildable; }
        bool get_rebuild() const { return rebuild; }