]> git.tdb.fi Git - builder.git/blobdiff - source/target.h
Implement --build-all
[builder.git] / source / target.h
index f0ec0f264916c56da0e32af9b1aa6f003ab175d6..890f123e2095855036e11655df664fec767ef293 100644 (file)
@@ -20,12 +20,13 @@ public:
        virtual const char *get_type() const=0;
        const std::list<Target *> &get_depends() const { return depends; }
        const Package     *get_package() const         { return package; }
+       bool              get_depends_ready() const       { return deps_ready; }
        void              add_depend(Target *);
-       virtual void      find_depends()=0;
+       virtual void      find_depends()               { deps_ready=true; }
        virtual void      prepare();
        virtual Action    *build()=0;
        void              reset_count()                { counted=false; }
-       unsigned          count_rebuild();
+       virtual unsigned  count_rebuild();
        void              touch();
        virtual ~Target() { }
 protected:
@@ -38,6 +39,7 @@ protected:
        Msp::Time::TimeStamp mtime;
        std::list<Target *> depends;
        std::list<Target *> rdepends;
+       bool        deps_ready;
        bool        prepared;
        bool        buildable;
        bool        counted;