#ifndef BINARY_H_
#define BINARY_H_
+#include "buildinfo.h"
#include "filetarget.h"
class Component;
Produces a binary file, which may be either a standalone executable or a shared
library.
*/
-class Binary: public virtual FileTarget
+class Binary: public FileTarget
{
+private:
+ BuildInfo static_binfo;
+
protected:
- const Component ∁
+ std::list<ObjectFile *> objects;
+
+ Binary(Builder &, const Msp::FS::Path &);
+ Binary(Builder &, const Component &, const std::string &, const std::list<ObjectFile *> &);
- Binary(Builder &, const Component &, const std::list<ObjectFile *> &);
public:
- const Component &get_component() const { return comp; }
- virtual void find_depends();
+ virtual void collect_build_info(BuildInfo &) const;
+
protected:
- /** Returns the path for the binary. We can't do this in the constructor
- since we need to pass the value to the Target c'tor. */
- static Msp::FS::Path generate_target_path(const Component &);
+ virtual void find_dependencies();
};
#endif