X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Fobjectfile.h;h=af7cc227997315c8394dc46468f01894dd4f7b3f;hb=bd61d7fbd0ba77356b6def1dd20f8cebe31de182;hp=962151c5e412f1923d873ec23504851f5ddd0d4e;hpb=0d80cabf649b931b26e7055385156c75a7385d35;p=builder.git diff --git a/source/objectfile.h b/source/objectfile.h index 962151c..af7cc22 100644 --- a/source/objectfile.h +++ b/source/objectfile.h @@ -1,24 +1,31 @@ #ifndef OBJECTFILE_H_ #define OBJECTFILE_H_ -#include "target.h" +#include "filetarget.h" -class Component; class SourceFile; -class ObjectFile: public Target +/** +Object files are compiled from source files. +*/ +class ObjectFile: public FileTarget { +private: + SourceFile &source; + public: ObjectFile(Builder &, const Component &, SourceFile &); - const char *get_type() const { return "ObjectFile"; } - void find_depends(); - Action *build(); private: - const Component ∁ - - void find_depends(Target *); + static Msp::FS::Path generate_target_path(const Component &, const std::string &); - static std::string generate_target_name(const Component &, const std::string &); +public: + virtual const char *get_type() const { return "ObjectFile"; } + SourceFile &get_source() const { return source; } + + virtual void find_depends(); + +private: + void find_depends(FileTarget *); }; #endif