]> git.tdb.fi Git - builder.git/blob - source/virtualtarget.cpp
Migrate from msppath to mspfs
[builder.git] / source / virtualtarget.cpp
1 /* $Id$
2
3 This file is part of builder
4 Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #include <msp/fs/path.h>
9 #include <msp/fs/utils.h>
10 #include "virtualtarget.h"
11
12 using namespace std;
13 using namespace Msp;
14
15 /**
16 Virtual targets are only rebuilt if their dependencies need rebuilding.
17 */
18 void VirtualTarget::check_rebuild()
19 {
20         for(TargetList::iterator i=depends.begin(); (i!=depends.end() && !rebuild); ++i)
21                 if((*i)->get_rebuild())
22                         mark_rebuild(FS::basename((*i)->get_name())+" needs rebuilding");
23 }
24
25 /**
26 Don't count virtual targets since "building" them causes no action.
27 */
28 unsigned VirtualTarget::count_rebuild()
29 {
30         return Target::count_rebuild()-rebuild;
31 }