diff options
Diffstat (limited to 'src/build.h')
| -rw-r--r-- | src/build.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/build.h b/src/build.h index a2bf3ed..00acbfc 100644 --- a/src/build.h +++ b/src/build.h | |||
| @@ -3,6 +3,15 @@ | |||
| 3 | 3 | ||
| 4 | #include <stdint.h> | 4 | #include <stdint.h> |
| 5 | 5 | ||
| 6 | #include <map> | ||
| 7 | #include <string> | ||
| 8 | |||
| 9 | #include "exceptions.h" | ||
| 10 | #include "rule.h" | ||
| 11 | #include "target.h" | ||
| 12 | #include "action.h" | ||
| 13 | |||
| 14 | subExceptionDecl( BuildException ); | ||
| 6 | 15 | ||
| 7 | class Build | 16 | class Build |
| 8 | { | 17 | { |
| @@ -10,7 +19,28 @@ public: | |||
| 10 | Build(); | 19 | Build(); |
| 11 | virtual ~Build(); | 20 | virtual ~Build(); |
| 12 | 21 | ||
| 22 | /** | ||
| 23 | * Adds a target to the build. If the target already exists, this will | ||
| 24 | * attempt to merge them as best it can. If there are any conflicts, it | ||
| 25 | * will throw an exception. | ||
| 26 | *@param pTarget A pointer to a Target object that Build takes ownership of. | ||
| 27 | */ | ||
| 28 | void addTarget( Target *pTarget ); | ||
| 29 | void addRequires( const std::string &who, const std::string &what ); | ||
| 30 | |||
| 31 | void debugDump(); | ||
| 32 | |||
| 13 | private: | 33 | private: |
| 34 | typedef std::map<std::string, Target *> TargetMap; | ||
| 35 | typedef std::list<std::string> StringList; | ||
| 36 | typedef std::map<std::string, StringList> ReqMap; | ||
| 37 | |||
| 38 | TargetMap mTarget; | ||
| 39 | ReqMap mRequires; | ||
| 40 | |||
| 41 | //std::map<std::string, Rule *> mRule; | ||
| 42 | //Action *pActDefault; | ||
| 43 | //std::map<std::string, Action *> mAction; | ||
| 14 | 44 | ||
| 15 | }; | 45 | }; |
| 16 | 46 | ||
