X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fobjectfile.cpp;h=d29cd11df850759833705e0103264c50d09de512;hb=59ac0a44d6edf179c01604c6ced744873213f855;hp=b308c2b34301bc51c81929b25df7e86a5d6fbfa1;hpb=4dc31cca056ea293d320928f61fef0558089d32d;p=builder.git diff --git a/source/objectfile.cpp b/source/objectfile.cpp index b308c2b..d29cd11 100644 --- a/source/objectfile.cpp +++ b/source/objectfile.cpp @@ -1,5 +1,6 @@ #include #include "builder.h" +#include "compile.h" #include "component.h" #include "objectfile.h" #include "package.h" @@ -12,9 +13,15 @@ ObjectFile::ObjectFile(Builder &b, const Component &c, SourceFile &src): Target(b, &c.get_package(), generate_target_name(c, src.get_name())), comp(c) { + buildable=true; add_depend(&src); } +Action *ObjectFile::build() +{ + return Target::build(new Compile(builder, depends.front()->get_name(), name, comp)); +} + string ObjectFile::generate_target_name(const Component &comp, const string &src) { return (comp.get_package().get_source()/"temp"/comp.get_name()/(Path::splitext(src.substr(src.rfind('/')+1)).base+".o")).str();