30 cleaned_files_count_(0),
42 cleaned_files_count_(0),
43 disk_interface_(disk_interface),
58 printf(
"Remove %s\n", path.c_str());
78 set<string>::iterator i =
removed_.find(path);
95 printf(
"Cleaning...");
111 for (vector<Edge*>::iterator e =
state_->
edges_.begin();
114 if ((*e)->is_phony())
117 if (!generator && (*e)->GetBindingBool(
"generator"))
119 for (vector<Node*>::iterator out_node = (*e)->outputs_.begin();
120 out_node != (*e)->outputs_.end(); ++out_node) {
121 Remove((*out_node)->path());
133 if (!e->is_phony()) {
137 for (vector<Node*>::iterator n = e->inputs_.begin(); n != e->inputs_.end();
169 Error(
"unknown target '%s'", target);
178 for (
int i = 0; i < target_count; ++i) {
179 const char* target_name = targets[i];
183 printf(
"Target %s\n", target_name);
186 Error(
"unknown target '%s'", target_name);
197 for (vector<Edge*>::iterator e =
state_->
edges_.begin();
199 if ((*e)->rule().name() == rule->
name()) {
200 for (vector<Node*>::iterator out_node = (*e)->outputs_.begin();
201 out_node != (*e)->outputs_.end(); ++out_node) {
202 Remove((*out_node)->path());
227 Error(
"unknown rule '%s'", rule);
238 for (
int i = 0; i < rule_count; ++i) {
239 const char* rule_name = rules[i];
243 printf(
"Rule %s\n", rule_name);
246 Error(
"unknown rule '%s'", rule_name);