]> git.tdb.fi Git - builder.git/blobdiff - source/objectfile.h
Replace per-file copyright notices with a single file
[builder.git] / source / objectfile.h
index 4845a0f15c0ca3490e619fa618766533e7852f43..8b58e7a1ae93f14ecd6b4702c47c3b3af785ec19 100644 (file)
@@ -1,14 +1,7 @@
-/* $Id$
-
-This file is part of builder
-Copyright © 2006-2009  Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
 #ifndef OBJECTFILE_H_
 #define OBJECTFILE_H_
 
-#include "target.h"
+#include "filetarget.h"
 
 class Component;
 class SourceFile;
@@ -16,16 +9,18 @@ class SourceFile;
 /**
 Object files are compiled from source files.
 */
-class ObjectFile: public Target
+class ObjectFile: public FileTarget
 {
 private:
        const Component ∁
+       SourceFile &source;
        TargetList new_deps;
        
 public:
        ObjectFile(Builder &, const Component &, SourceFile &);
        virtual const char *get_type() const { return "ObjectFile"; }
        const Component &get_component() const { return comp; }
+       SourceFile &get_source() const { return source; }
 
        /** Processes as many new dependences as possible.  Some may be created on
        the fly and can't be processed until their own dependencies are ready.  In
@@ -41,7 +36,7 @@ private:
        void add_depend(Target *);
        virtual Action *create_action();
 
-       static std::string generate_target_name(const Component &, const std::string &);
+       static Msp::FS::Path generate_target_path(const Component &, const std::string &);
 };
 
 #endif