]> git.tdb.fi Git - builder.git/blobdiff - source/lib/filetarget.h
Refactor transitive dependencies to work on all targets
[builder.git] / source / lib / filetarget.h
index 124b3c5da5c2ab316309653f1260d5174b80ad35..4261cbb7e8617616e75b7240345457adef892cd4 100644 (file)
@@ -19,8 +19,8 @@ protected:
        bool nested_build_sig = false;
        bool arch_in_build_sig = false;
 
-       FileTarget(Builder &b, const Msp::FS::Path &a): FileTarget(b, 0, a) { }
-       FileTarget(Builder &b, const SourcePackage &p, const Msp::FS::Path &a): FileTarget(b, &p, a) { }
+       FileTarget(Builder &b, const Msp::FS::Path &a);
+       FileTarget(Builder &b, const SourcePackage &p, const Msp::FS::Path &a);
 private:
        FileTarget(Builder &, const SourcePackage *, const Msp::FS::Path &);
        void stat();
@@ -37,7 +37,11 @@ public:
        /// Changes the mtime of the target to the current time.
        void touch();
 
+       FileTarget *get_real_target() override { return this; }
+
 protected:
+       Target *resolve_transitive_dependency(Target &, Target &) const override;
+
        void check_rebuild() override;
 
        virtual std::string create_build_signature() const;