Factories for Backend creation
[reactos.git] / reactos / tools / rbuild / backend / mingw / mingw.h
1 #ifndef MINGW_H
2 #define MINGW_H
3
4 #include "../backend.h"
5 #include "modulehandler.h"
6
7 class MingwModuleHandlerList : public std::vector<MingwModuleHandler*>
8 {
9 public:
10 ~MingwModuleHandlerList()
11 {
12 for ( size_t i = 0; i < size(); i++ )
13 {
14 delete (*this)[i];
15 }
16 }
17 };
18
19
20 class MingwBackend : public Backend
21 {
22 public:
23 static Backend* Factory ( Project& project );
24 protected:
25 MingwBackend ( Project& project );
26 public:
27 virtual void Process ();
28 private:
29 void ProcessModule ( Module& module );
30 void GetModuleHandlers ( MingwModuleHandlerList& moduleHandlers );
31 void CreateMakefile ();
32 void CloseMakefile ();
33 void GenerateHeader ();
34 void GenerateAllTarget ();
35 FILE* fMakefile;
36 };
37
38 #endif /* MINGW_H */