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 | ||