]> git.tdb.fi Git - builder.git/blobdiff - source/target.h
Add command line options (not all of them work yet)
[builder.git] / source / target.h
index 371445bc5007ebc4e7c3d4af6c525c7c79bd2231..f0ec0f264916c56da0e32af9b1aa6f003ab175d6 100644 (file)
@@ -12,18 +12,21 @@ class Package;
 class Target
 {
 public:
-       const std::string &get_name() const { return name; }
-       Target *get_buildable_target();
-       bool   get_rebuild() const { return rebuild; }
-       const std::string &get_rebuild_reason() const { return rebuild_reason; }
-       const Msp::Time::TimeStamp &get_mtime() const { return mtime; }
-       const Msp::Time::TimeStamp &get_virtual_mtime() const { return vmtime; }
+       const std::string &get_name() const            { return name; }
+       Target            *get_buildable_target();
+       bool              get_rebuild() const          { return rebuild; }
+       const std::string &get_rebuild_reason() const  { return rebuild_reason; }
+       const Msp::Time::TimeStamp &get_mtime() const  { return mtime; }
        virtual const char *get_type() const=0;
        const std::list<Target *> &get_depends() const { return depends; }
-       void   add_depend(Target *);
-       virtual void find_depends()=0;
-       virtual void prepare();
-       virtual Action *build()=0;
+       const Package     *get_package() const         { return package; }
+       void              add_depend(Target *);
+       virtual void      find_depends()=0;
+       virtual void      prepare();
+       virtual Action    *build()=0;
+       void              reset_count()                { counted=false; }
+       unsigned          count_rebuild();
+       void              touch();
        virtual ~Target() { }
 protected:
        Builder     &builder;
@@ -33,11 +36,11 @@ protected:
        bool        rebuild;
        std::string rebuild_reason;
        Msp::Time::TimeStamp mtime;
-       Msp::Time::TimeStamp vmtime;
        std::list<Target *> depends;
        std::list<Target *> rdepends;
        bool        prepared;
        bool        buildable;
+       bool        counted;
 
        Target(Builder &, const Package *, const std::string &);
        void mark_rebuild(const std::string &);