string FileTarget::generate_name(Builder &builder, const SourcePackage *pkg, const FS::Path &path)
{
- if(pkg && FS::descendant_depth(path, pkg->get_source())>=0)
+ if(pkg && FS::descendant_depth(path, pkg->get_source_directory())>=0)
{
- FS::Path relpath = FS::relative(path, pkg->get_source());
+ 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)
if(!needs_rebuild() && package && package->get_config().get_mtime()>mtime)
mark_rebuild("Package options changed");
}
+
+Task *FileTarget::build()
+{
+ if(tool && !builder.get_dry_run() && mtime)
+ FS::unlink(path);
+
+ return Target::build();
+}