using namespace std;
using namespace Msp;
+FileTarget::FileTarget(Builder &b, const FS::Path &a):
+ FileTarget(b, 0, a)
+{ }
+
+FileTarget::FileTarget(Builder &b, const SourcePackage &p, const FS::Path &a):
+ FileTarget(b, &p, a)
+{ }
+
FileTarget::FileTarget(Builder &b, const SourcePackage *p, const FS::Path &a):
Target(b, generate_name(b, p, a)),
path(a)
auto i = find_if(side_effects, [](const Target *s){ return s->needs_rebuild(); });
if(i!=side_effects.end())
mark_rebuild((*i)->get_name()+" needs rebuilding");
+ if(primary_target && primary_target->needs_rebuild())
+ mark_rebuild(primary_target->get_name()+" needs rebuilding");
}
if(!needs_rebuild() && package)
void FileTarget::build(Task &task)
{
- task.add_file(path);
+ task.add_target(*this);
task.set_unlink(true);
}