X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftarget.cpp;h=297ae3f4211b9a4b3be3b2f68e1fd2ab43dc2ec5;hb=4facd021514ab372c23b1b132d6b4b62baa4efbf;hp=7c6141df7403b1978ccd32f8fdfa6ce911c10f74;hpb=25900e0f84f72de6208f30529f9bcaae11570f8f;p=builder.git diff --git a/source/target.cpp b/source/target.cpp index 7c6141d..297ae3f 100644 --- a/source/target.cpp +++ b/source/target.cpp @@ -10,13 +10,13 @@ using namespace std; using namespace Msp; -Target::Target(Builder &b, const Package *p, const string &n): +Target::Target(Builder &b, const string &n): builder(b), - package(p), + package(0), + component(0), name(n), tool(0), - state(INIT), - deps_ready(false) + state(INIT) { builder.add_target(this); } @@ -65,6 +65,8 @@ void Target::prepare() } state = PREPARING; + find_depends(); + for(Dependencies::iterator i=depends.begin(); i!=depends.end(); ++i) (*i)->prepare(); @@ -95,6 +97,9 @@ Task *Target::build() void Target::mark_rebuild(const std::string &reason) { + if(reason.empty()) + throw invalid_argument("No reason given for rebuilding "+name); + state = REBUILD; rebuild_reason = reason; }