From 8276259438592439236341b74300cb5538303c83 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 14 Jul 2015 09:47:40 +0200 Subject: Add notion of strong/weak amalgamation, make strong new clean boundary --- build/rule.cxx | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) (limited to 'build/rule.cxx') diff --git a/build/rule.cxx b/build/rule.cxx index 8f3a7a9..6db0f4f 100644 --- a/build/rule.cxx +++ b/build/rule.cxx @@ -159,35 +159,13 @@ namespace build recipe fsdir_rule:: apply (action a, target& t, const match_result&) const { - switch (a.operation ()) - { - case default_id: - case update_id: - // For default, we don't do anything other than letting our - // prerequisites do their thing. - // - - // Inject dependency on the parent directory. Note that we - // don't do it for clean since we shouldn't be removing it. - // + // Inject dependency on the parent directory. Note that we + // don't do it for clean since we shouldn't be removing it. + // + if (a.operation () != clean_id) inject_parent_fsdir (a, t); - search_and_match_prerequisites (a, t, dir_path ()); - break; - - case clean_id: - // For clean, ignore prerequisites that are not in the same or a - // subdirectory of ours (if t.dir is foo/bar/, then "we" are bar - // and our directory is foo/). Just meditate on it a bit and you - // will see the light. - // - search_and_match_prerequisites ( - a, t, t.dir.root () ? t.dir : t.dir.directory ()); - break; - - default: - assert (false); - } + search_and_match_prerequisites (a, t); switch (a) { -- cgit v1.1