aboutsummaryrefslogtreecommitdiff
path: root/build/target
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-02-24 06:09:23 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-02-24 06:09:23 +0200
commit5fc53bd74c7635a292cef041180da4cd32b7fb12 (patch)
tree917de261e05b203e5b152ec4f0232eb20a14a07a /build/target
parentdea0d0913711f23fff3b902e3aa6006c6b54905a (diff)
Add fsdir{} for creating directories
Diffstat (limited to 'build/target')
-rw-r--r--build/target17
1 files changed, 17 insertions, 0 deletions
diff --git a/build/target b/build/target
index da5cf71..881bfb7 100644
--- a/build/target
+++ b/build/target
@@ -255,6 +255,23 @@ namespace build
virtual const target_type& type () const {return static_type;}
static const target_type static_type;
};
+
+ // While a filesystem directory is mtime-based, the semantics is
+ // not very useful in our case. In particular, if another target
+ // depends on fsdir{}, then all that's desired is the creation of
+ // the directory if it doesn't already exist. In particular, we
+ // don't want to update the target just because some unrelated
+ // entry was created in that directory.
+ //
+ class fsdir: public target
+ {
+ public:
+ using target::target;
+
+ public:
+ virtual const target_type& type () const {return static_type;}
+ static const target_type static_type;
+ };
}
#endif // BUILD_TARGET