]> git.tdb.fi Git - builder.git/blob - source/objectfile.h
1546a56bea3b5b83b1d48a5c5ed532f9315595e4
[builder.git] / source / objectfile.h
1 #ifndef OBJECTFILE_H_
2 #define OBJECTFILE_H_
3
4 #include "filetarget.h"
5
6 class SourceFile;
7
8 /**
9 Object files are compiled from source files.
10 */
11 class ObjectFile: public FileTarget
12 {
13 private:
14         SourceFile &source;
15
16 public:
17         ObjectFile(Builder &, const Component &, SourceFile &);
18 private:
19         static Msp::FS::Path generate_target_path(const Component &, const Msp::FS::Path &);
20
21 public:
22         virtual const char *get_type() const { return "ObjectFile"; }
23         SourceFile &get_source() const { return source; }
24
25         virtual void collect_build_info(BuildInfo &) const;
26
27 private:
28         virtual void find_dependencies();
29
30         void find_dependencies(FileTarget *);
31 };
32
33 #endif