/* $Id$
This file is part of builder
-Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Copyright © 2006-2009 Mikko Rasa, Mikkosoft Productions
Distributed under the LGPL
*/
#include "archive.h"
#include "component.h"
#include "objectfile.h"
-#include "package.h"
+#include "sourcepackage.h"
#include "staticlibrary.h"
using namespace std;
-StaticLibrary::StaticLibrary(Builder &b, const Component &c, const std::list<ObjectFile *> &objs):
- Target(b, &c.get_package(), generate_target_name(c)),
+StaticLibrary::StaticLibrary(Builder &b, const Component &c, const list<ObjectFile *> &objs):
+ FileTarget(b, &c.get_package(), generate_target_path(c)),
+ Library(b, package, path, c.get_name()),
comp(c)
{
buildable=true;
add_depend(*i);
}
-Action *StaticLibrary::build()
+Action *StaticLibrary::create_action()
{
- return Target::build(new Archive(builder, *this));;
+ return new Archive(builder, *this);
}
-string StaticLibrary::generate_target_name(const Component &c)
+Msp::FS::Path StaticLibrary::generate_target_path(const Component &c)
{
- return (c.get_package().get_out_dir()/("lib"+c.get_name()+".a")).str();
+ return c.get_package().get_out_dir()/("lib"+c.get_name()+".a");
}