#include "builder.h"
#include "filetarget.h"
#include "sourcepackage.h"
+#include "task.h"
#include "tool.h"
using namespace std;
else if(FS::descendant_depth(path, builder.get_prefix())>=0)
{
FS::Path relpath = FS::relative(path, builder.get_prefix());
- builder.get_logger().log("debug", format("%s %s %s", path, builder.get_prefix(), relpath));
return "<prefix>"+relpath.str().substr(1);
}
Task *FileTarget::build()
{
- if(tool && !builder.get_dry_run() && mtime)
- FS::unlink(path);
-
- return Target::build();
+ Task *task = Target::build();
+ task->set_file(path);
+ task->set_unlink(true);
+ return task;
}
void FileTarget::build_finished(bool success)
Target::build_finished(success);
}
+
+void FileTarget::clean()
+{
+ if(mtime)
+ {
+ FS::unlink(path);
+ mtime = Time::TimeStamp();
+ size = 0;
+ check_rebuild();
+ }
+}