X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftarget.h;h=cf1d18651c9ed5f92c0ac0792b1ae6d75bf153a8;hb=4d0d003b022943d8a0e39ba19078bab8d32d8857;hp=fa744ac75f341fef278d9fe953a6654e0e317387;hpb=74266a6e650f019063cdcd1c9a7bd26d8f99041b;p=builder.git diff --git a/source/target.h b/source/target.h index fa744ac..cf1d186 100644 --- a/source/target.h +++ b/source/target.h @@ -1,7 +1,15 @@ +/* $Id$ + +This file is part of builder +Copyright © 2006-2007 Mikko Rasa, Mikkosoft Productions +Distributed under the LGPL +*/ + #ifndef TARGET_H_ #define TARGET_H_ #include +#include #include #include @@ -21,6 +29,7 @@ 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; } @@ -29,14 +38,19 @@ public: const Package *get_package() const { return package; } bool get_depends_ready() const { return deps_ready; } void add_depend(Target *); - virtual void find_depends() { deps_ready=true; } virtual void prepare(); - + + /** + Finds dependencies for the target. When all dependencies have been found, + the function should set deps_ready to true. + */ + virtual void find_depends() { deps_ready=true; } + /** 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(); @@ -66,4 +80,6 @@ protected: virtual void build_done(); }; +typedef std::map TargetMap; + #endif