- if(builder.get_build_all())
- mark_rebuild("Rebuilding everything");
- else if(!mtime)
- mark_rebuild("Does not exist");
- else
+ find_dependencies();
+ bool broken = !problems.empty();
+
+ if(tool)
+ {
+ if(FileTarget *tool_exe = tool->get_executable())
+ add_dependency(*tool_exe);
+ broken |= !tool->get_problems().empty();
+
+ // Only check package and component problems for buildable targets
+ // XXX How to propagate nested package problems?
+ broken |= (package && !package->get_problems().empty());
+ broken |= (component && !component->get_problems().empty());
+ }
+
+ for(Target *d: depends)