* Build bin2res and cabman in bootstrap makefiles
[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 ~MingwBackend () { };
12 virtual void Process ();
13 void CreateDirectoryTargetIfNotYetCreated ( const std::string& directory );
14 private:
15 void ProcessModule ( Module& module );
16 void CreateMakefile ();
17 void CloseMakefile () const;
18 void GenerateHeader () const;
19 void GenerateProjectCFlagsMacro ( const char* assignmentOperation,
20 IfableData& data ) const;
21 void GenerateGlobalCFlagsAndProperties ( const char* op,
22 IfableData& data ) const;
23 std::string GenerateProjectLFLAGS () const;
24 void GenerateDirectoryTargets ();
25 void GenerateGlobalVariables () const;
26 bool IncludeInAllTarget ( const Module& module ) const;
27 void GenerateAllTarget () const;
28 std::string GetBuildToolDependencies () const;
29 void GenerateInitTarget () const;
30 void GenerateXmlBuildFilesMacro() const;
31 void CheckAutomaticDependencies ();
32 bool IncludeDirectoryTarget ( const std::string& directory ) const;
33 void DetectPCHSupport();
34 std::set<std::string> directories;
35 FILE* fMakefile;
36 bool use_pch;
37 };
38
39 std::string FixupTargetFilename ( const std::string& targetFilename );
40
41 #endif /* MINGW_H */