From cb8399da1f0b1c5f28e443c98bfc3cb4e12b8cbf Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 20 Jul 2015 17:35:47 +0200 Subject: Implement pre/post operation support Also, extend execution mode/postponed logic to propagate the postponed target state. At the top, we now re-try postponed targets. This results in the expected behavior when, for example, cleaning two targets with one depending on the other. --- build/target | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'build/target') diff --git a/build/target b/build/target index ee61c7b..d164f72 100644 --- a/build/target +++ b/build/target @@ -306,10 +306,10 @@ namespace build typedef build::recipe recipe_type; const recipe_type& - recipe (action_id a) const {return action_ == a ? recipe_ : empty_recipe;} + recipe (action a) const {return action_ == a ? recipe_ : empty_recipe;} void - recipe (action_id a, recipe_type r) + recipe (action a, recipe_type r) { assert (action_ != a || !recipe_); action_ = a; @@ -348,7 +348,7 @@ namespace build static const target_type static_type; private: - action_id action_ {0}; // Action id of this recipe. + action action_; // Action this recipe is for. recipe_type recipe_; }; -- cgit v1.1