-Binary::Binary(Builder &b, const Component &c, const list<ObjectFile *> &objs):
- FileTarget(b, &c.get_package(), generate_target_path(c)),
- comp(c)
+Binary::Binary(Builder &b, const FS::Path &p):
+ FileTarget(b, p)
+{ }
+
+Binary::Binary(Builder &b, const Component &c, const string &p, const list<ObjectFile *> &objs):
+ FileTarget(b, c.get_package(), c.get_package().get_output_directory()/p),
+ objects(objs)
+{
+ component = &c;
+ for(list<ObjectFile *>::const_iterator i=objects.begin(); i!=objects.end(); ++i)
+ add_dependency(**i);
+
+ nested_build_sig = true;
+ arch_in_build_sig = true;
+}
+
+void Binary::collect_build_info(BuildInfo &binfo) const