add_depend(*i);
}
+/**
+Finds and adds any required libraries to the dependencies.
+*/
void Executable::find_depends()
{
const list<string> &libs=comp.get_build_info().libs;
if(lib)
add_depend(lib);
}
+
+ deps_ready=true;
}
Action *Executable::build()
{
- return Target::build(new Link(builder, *this, comp));;
+ return Target::build(new Link(builder, *this));;
}
-string Executable::generate_target_name(const Component &comp)
+/**
+Returns the name for the executable. We can't do this in the constructor since
+we need to pass the value to the Target c'tor.
+*/
+string Executable::generate_target_name(const Component &c)
{
- string prefix;
- string suffix;
+ string prefix,suffix;
- if(comp.get_type()==Component::LIBRARY)
+ if(c.get_type()==Component::LIBRARY)
{
prefix="lib";
suffix=".so";
}
- return (comp.get_package().get_source()/(prefix+comp.get_name()+suffix)).str();
+ return (c.get_package().get_source()/(prefix+c.get_name()+suffix)).str();
}