* Build cabman and zlib
[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 MingwBackend : public Backend
8 {
9 public:
10 MingwBackend ( Project& project );
11 virtual void Process ();
12 private:
13 void ProcessModule ( Module& module ) const;
14 void CreateMakefile ();
15 void CloseMakefile () const;
16 void GenerateHeader () const;
17 void GenerateProjectCFlagsMacro ( const char* assignmentOperation,
18 const std::vector<Include*>& includes,
19 const std::vector<Define*>& defines ) const;
20 void GenerateGlobalCFlagsAndProperties ( const char* op,
21 const std::vector<Property*>& properties,
22 const std::vector<Include*>& includes,
23 const std::vector<Define*>& defines,
24 const std::vector<If*>& ifs ) const;
25 std::string GenerateProjectLFLAGS () const;
26 void GenerateDirectoryTargets () const;
27 void GenerateGlobalVariables () const;
28 bool IncludeInAllTarget ( const Module& module ) const;
29 void GenerateAllTarget () const;
30 FILE* fMakefile;
31 };
32
33 std::string FixupTargetFilename ( const std::string& targetFilename );
34
35 #endif /* MINGW_H */