X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsourcefile.h;h=18d86045cdee8092c83e834371603ca93490c5e3;hb=bd2a50ecb9f582c6e9569ffc9f33d41f10363c5f;hp=af25fe9253428924968f85654746a1ac31edc219;hpb=59ac0a44d6edf179c01604c6ced744873213f855;p=builder.git diff --git a/source/sourcefile.h b/source/sourcefile.h index af25fe9..18d8604 100644 --- a/source/sourcefile.h +++ b/source/sourcefile.h @@ -1,22 +1,27 @@ #ifndef SOURCEFILE_H_ #define SOURCEFILE_H_ -#include "target.h" +#include "filetarget.h" class Component; -class SourceFile: public Target +/** +Represents a C or C++ source file. +*/ +class SourceFile: public FileTarget { -public: - SourceFile(Builder &, const Component *, const std::string &); - const char *get_type() const { return "SourceFile"; } - void find_depends(); - Action *build() { rebuild=false; return 0; } private: const Component *comp; - std::list includes; + StringList includes; - void check_rebuild(); +protected: + SourceFile(Builder &, const Msp::FS::Path &); +public: + SourceFile(Builder &, const Component &, const Msp::FS::Path &); + virtual const char *get_type() const { return "SourceFile"; } + const StringList &get_includes() const { return includes; } + const Component *get_component() const { return comp; } + virtual void find_depends(); }; #endif