* Correct dependencies for ROS_INTERMEDIATE <> . in generated makefile
[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 const std::string GetDirectoryDependency ( const std::string& directory );
15 private:
16 void ProcessModule ( Module& module );
17 void CreateMakefile ();
18 void CloseMakefile () const;
19 void GenerateHeader () const;
20 void GenerateProjectCFlagsMacro ( const char* assignmentOperation,
21 IfableData& data ) const;
22 void GenerateGlobalCFlagsAndProperties ( const char* op,
23 IfableData& data ) const;
24 std::string GenerateProjectLFLAGS () const;
25 void GenerateDirectoryTargets ();
26 void GenerateGlobalVariables () const;
27 bool IncludeInAllTarget ( const Module& module ) const;
28 void GenerateAllTarget () const;
29 std::string GetBuildToolDependencies () const;
30 void GenerateInitTarget () const;
31 void GenerateXmlBuildFilesMacro() const;
32 void CheckAutomaticDependencies ();
33 bool IncludeDirectoryTarget ( const std::string& directory ) const;
34 void DetectPCHSupport();
35 std::set<std::string> directories;
36 FILE* fMakefile;
37 bool use_pch;
38 };
39
40 std::string FixupTargetFilename ( const std::string& targetFilename );
41
42 #endif /* MINGW_H */