-/* $Id$
-
-This file is part of builder
-Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
#ifndef OBJECTFILE_H_
#define OBJECTFILE_H_
-#include "target.h"
+#include "filetarget.h"
-class Component;
class SourceFile;
/**
Object files are compiled from source files.
*/
-class ObjectFile: public Target
+class ObjectFile: public FileTarget
{
+private:
+ SourceFile &source;
+
public:
ObjectFile(Builder &, const Component &, SourceFile &);
- const char *get_type() const { return "ObjectFile"; }
- const Component &get_component() const { return comp; }
- void find_depends();
private:
- const Component ∁
- TargetList new_deps;
-
- void find_depends(Target *);
- void add_depend(Target *);
- virtual Action *create_action();
+ static Msp::FS::Path generate_target_path(const Component &, const std::string &);
+
+public:
+ virtual const char *get_type() const { return "ObjectFile"; }
+ SourceFile &get_source() const { return source; }
- static std::string generate_target_name(const Component &, const std::string &);
+ virtual void find_depends();
+
+private:
+ void find_depends(FileTarget *);
};
#endif