void set_tool(const Tool &);
const Tool *get_tool() const { return tool; }
+ /** Indicates if it's possible to build this target. */
bool is_buildable() const { return tool!=0; }
+
+ /** Indicates if this target needs rebuilding. Only makes sense after the
+ target has been prepared. */
bool needs_rebuild() const { return state>PREPARING && state<UPTODATE; }
+
+ /** Returns the reason for rebuilding this target. Only makes sense after
+ the target has been prepared. */
const std::string &get_rebuild_reason() const { return rebuild_reason; }
+
bool is_installable() const { return !install_location.empty(); }
const std::string &get_install_location() const { return install_location; }
void add_depend(Target *);