7843581e77d60bf655566d5818026565ff8531a3
4 #include "../backend.h"
9 #define NUL "/dev/null"
13 class MingwModuleHandler
;
16 v2s ( const string_list
& v
, int wrap_at
);
18 class MingwBackend
: public Backend
21 MingwBackend ( Project
& project
, bool verbose
);
22 virtual ~MingwBackend ();
23 virtual void Process ();
24 std::string
AddDirectoryTarget ( const std::string
& directory
, bool out
);
27 void CreateMakefile ();
28 void CloseMakefile () const;
29 void GenerateHeader () const;
30 void GenerateProjectCFlagsMacro ( const char* assignmentOperation
,
31 IfableData
& data
) const;
32 void GenerateGlobalCFlagsAndProperties ( const char* op
,
33 IfableData
& data
) const;
34 std::string
GenerateProjectLFLAGS () const;
35 void GenerateDirectories ();
36 void GenerateGlobalVariables () const;
37 bool IncludeInAllTarget ( const Module
& module
) const;
38 void GenerateAllTarget ( const std::vector
<MingwModuleHandler
*>& handlers
) const;
39 std::string
GetBuildToolDependencies () const;
40 void GenerateInitTarget () const;
41 void GenerateXmlBuildFilesMacro() const;
42 void CheckAutomaticDependencies ();
43 bool IncludeDirectoryTarget ( const std::string
& directory
) const;
44 void DetectPipeSupport ();
45 void DetectPCHSupport ();
46 void ProcessModules ();
47 std::string
GetNonModuleInstallDirectories ( const std::string
& installDirectory
);
48 std::string
GetInstallDirectories ( const std::string
& installDirectory
);
49 void GetNonModuleInstallFiles ( std::vector
<std::string
>& out
) const;
50 void GetInstallFiles ( std::vector
<std::string
>& out
) const;
51 void OutputInstallfileCopyCommands ( const std::string
& installDirectory
);
52 void GenerateInstallTarget ();
55 Directory
*int_directories
, *out_directories
;
58 std::string
FixupTargetFilename ( const std::string
& targetFilename
);