aboutsummaryrefslogtreecommitdiff
path: root/build/rule
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-03-12 15:43:17 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-03-12 15:43:17 +0200
commitcf6b3e34b59ad120111e0c1ead779bbb3a70c38d (patch)
tree424e9def98c65d9080e72a69064334c6716fb82b /build/rule
parent5925c11a1fe8b2e02b790dd40b031ae005d5b68f (diff)
Implement clean operation
Diffstat (limited to 'build/rule')
-rw-r--r--build/rule13
1 files changed, 7 insertions, 6 deletions
diff --git a/build/rule b/build/rule
index 2e11191..7501f7d 100644
--- a/build/rule
+++ b/build/rule
@@ -35,7 +35,8 @@ namespace build
extern operation_rule_map rules;
extern const target_rule_map* current_rules; // Rules for current operation.
- // Fallback rule that check that the path exists.
+ // Fallback rule that on update verifies that the path exists and is
+ // not older than any of its prerequisites.
//
class path_rule: public rule
{
@@ -47,7 +48,7 @@ namespace build
apply (action, target&, void*) const;
static target_state
- update (action, target&);
+ perform_update (action, target&);
};
class dir_rule: public rule
@@ -58,9 +59,6 @@ namespace build
virtual recipe
apply (action, target&, void*) const;
-
- static target_state
- update (action, target&);
};
class fsdir_rule: public rule
@@ -73,7 +71,10 @@ namespace build
apply (action, target&, void*) const;
static target_state
- update (action, target&);
+ perform_update (action, target&);
+
+ static target_state
+ perform_clean (action, target&);
};
}