]> git.tdb.fi Git - builder.git/blobdiff - source/target.h
Add Id tag to all files
[builder.git] / source / target.h
index eb46d9fe7116125798f4e7920baf71f5c87c8260..605b328badef68faaca64c0c6f2b84c61f9de98d 100644 (file)
@@ -1,3 +1,10 @@
+/* $Id$
+
+This file is part of builder
+Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions
+Distributed under the LGPL
+*/
+
 #ifndef TARGET_H_
 #define TARGET_H_
 
@@ -12,11 +19,16 @@ class Package;
 class Target;
 typedef std::list<Target *> TargetList;
 
+/**
+Targets make up the build graph.  This class is a base for all target types and
+handles many common tasks.  Most targets are associated with a file.
+*/
 class Target
 {
 public:
        const std::string  &get_name() const           { return name; }
        Target             *get_buildable_target();
+       bool               get_buildable() const       { return buildable; }
        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; }
@@ -27,7 +39,12 @@ public:
        void               add_depend(Target *);
        virtual void       find_depends()              { deps_ready=true; }
        virtual void       prepare();
+
+       /**
+       Creates and returns an Action suitable for building this target.
+       */
        virtual Action     *build()=0;
+
        void               reset_count()               { counted=false; }
        virtual unsigned   count_rebuild();
        void               touch();