Tool::Tool(Builder &b, const string &t):
builder(b),
- tag(t)
+ architecture(0),
+ tag(t),
+ executable(0),
+ prepared(false)
+{ }
+
+Tool::Tool(Builder &b, const Architecture &a, const string &t):
+ builder(b),
+ architecture(&a),
+ tag(t),
+ executable(0),
+ prepared(false)
{ }
bool Tool::accepts_suffix(const string &suffix, bool aux) const
return false;
}
-Target *Tool::create_target(Target &source, const string &arg) const
+Target *Tool::create_target(Target &source, const string &arg)
{
list<Target *> sources;
sources.push_back(&source);
return create_target(sources, arg);
}
+
+void Tool::prepare()
+{
+ if(prepared)
+ return;
+
+ prepared = true;
+ do_prepare();
+}
+
+
+SubTool::SubTool(Tool &p):
+ Tool(p),
+ parent(p)
+{ }