+string FileTarget::generate_name(Builder &builder, const SourcePackage *pkg, const FS::Path &path)
+{
+ if(pkg && FS::descendant_depth(path, pkg->get_source_directory())>=0)
+ {
+ FS::Path relpath = FS::relative(path, pkg->get_source_directory());
+ return format("<%s>%s", pkg->get_name(), relpath.str().substr(1));
+ }
+ else if(FS::descendant_depth(path, builder.get_prefix())>=0)
+ {
+ FS::Path relpath = FS::relative(path, builder.get_prefix());
+ return "<prefix>"+relpath.str().substr(1);
+ }
+
+ return path.str();
+}
+