]> git.tdb.fi Git - builder.git/blob - source/symlink.cpp
d99f6dabf99d991e9828ad9772f6d945965cad2a
[builder.git] / source / symlink.cpp
1 /* $Id$
2
3 This file is part of builder
4 Copyright © 2010  Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
6 */
7
8 #include <msp/fs/utils.h>
9 #include "makesymlink.h"
10 #include "symlink.h"
11
12 using namespace std;
13 using namespace Msp;
14
15 Symlink::Symlink(Builder &b, const Package &p, FileTarget &t, const string &n):
16         FileTarget(b, &p, FS::dirname(t.get_path())/n),
17         target(t)
18 {
19         buildable = true;
20         add_depend(&target);
21 }
22
23 Target *Symlink::get_real_target()
24 {
25         return target.get_real_target();
26 }
27
28 void Symlink::check_rebuild()
29 {
30         if(!mtime)
31                 mark_rebuild("Does not exist");
32 }
33
34 Action *Symlink::create_action()
35 {
36         return new MakeSymlink(builder, *this);
37 }