aboutsummaryrefslogtreecommitdiff
path: root/src/build.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/build.h')
-rw-r--r--src/build.h30
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
14subExceptionDecl( BuildException );
6 15
7class Build 16class 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
13private: 33private:
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