aboutsummaryrefslogtreecommitdiff
path: root/build/rule.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-03-13 14:34:24 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-03-13 14:34:24 +0200
commitca41ca8f9a6b21588248e5fee1a013363f3f52a8 (patch)
tree6e791ddac1c6f794273a9701c0c7f1bc9ec3d000 /build/rule.cxx
parent0cee33621a93d3348a1bf19a0c94441b717cbcbc (diff)
Add support for "first" and "last" execution modes
Diffstat (limited to 'build/rule.cxx')
-rw-r--r--build/rule.cxx8
1 files changed, 1 insertions, 7 deletions
diff --git a/build/rule.cxx b/build/rule.cxx
index eb7f5b4..c6bfe7a 100644
--- a/build/rule.cxx
+++ b/build/rule.cxx
@@ -18,7 +18,6 @@ using namespace std;
namespace build
{
operation_rule_map rules;
- const target_rule_map* current_rules;
// path_rule
//
@@ -247,11 +246,6 @@ namespace build
target_state fsdir_rule::
perform_clean (action a, target& t)
{
- // Wait until the last dependent to get an empty directory.
- //
- if (t.dependents != 0)
- return target_state::postponed;
-
// The reverse order of update: first delete this directory,
// then clean prerequisites (e.g., delete parent directories).
//
@@ -306,7 +300,7 @@ namespace build
target_state ts (target_state::unchanged);
if (!t.prerequisites.empty ())
- ts = execute_prerequisites (a, t);
+ ts = reverse_execute_prerequisites (a, t);
// If we couldn't remove the directory, return postponed meaning
// that the operation could not be performed at this time.