-FileTarget::FileTarget(Builder &b, const Package *p, const FS::Path &a):
- Target(b, p, FS::basename(a.str())),
- path(a),
- size(0)
+FileTarget::FileTarget(Builder &b, const FS::Path &a):
+ Target(b, generate_name(b, 0, a)),
+ path(a)
+{
+ init(0);
+}
+
+FileTarget::FileTarget(Builder &b, const SourcePackage &p, const FS::Path &a):
+ Target(b, generate_name(b, &p, a)),
+ path(a)
+{
+ init(&p);
+}
+
+void FileTarget::init(const SourcePackage *p)