X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftarget.h;h=605b328badef68faaca64c0c6f2b84c61f9de98d;hb=7aeaa4ba965f596edad438c02e345a8843f7469a;hp=eb46d9fe7116125798f4e7920baf71f5c87c8260;hpb=1a46151c99a406123c4ddfc797a7841baf3e4cc2;p=builder.git diff --git a/source/target.h b/source/target.h index eb46d9f..605b328 100644 --- a/source/target.h +++ b/source/target.h @@ -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 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();