]> git.tdb.fi Git - builder.git/blobdiff - source/sourcefile.h
Add install component type
[builder.git] / source / sourcefile.h
index 0bca39055fede799a16eca2c970b1963991fc9df..c0abe5c7615beeb0af7b9cd97458d60dd4fe950e 100644 (file)
@@ -1,21 +1,36 @@
+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2009  Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
 #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
 {
+private:
+       const Component *comp;
+       StringList includes;
+
+protected:
+       SourceFile(Builder &, const Msp::FS::Path &);
 public:
-       SourceFile(Builder &, const Component *, const std::string &);
+       SourceFile(Builder &, const Component &, const Msp::FS::Path &);
+       virtual const char *get_type() const { return "SourceFile"; }
        const StringList &get_includes() const { return includes; }
-       const char       *get_type() const { return "SourceFile"; }
-       void             find_depends();
-       Action           *build() { return 0; }
+       const Component *get_component() const { return comp; }
+       virtual void find_depends();
 private:
-       const Component *comp;
-       StringList      includes;
+       virtual Action *create_action() { return 0; }
 };
 
 #endif