1 #ifndef MINGW_MODULEHANDLER_H
2 #define MINGW_MODULEHANDLER_H
4 #include "../backend.h"
6 class MingwModuleHandler
9 MingwModuleHandler ( FILE* fMakefile
);
10 virtual bool CanHandleModule ( Module
& module
) = 0;
11 virtual void Process ( Module
& module
) = 0;
13 std::string
MingwModuleHandler::GetWorkingDirectory ();
14 std::string
ReplaceExtension ( std::string filename
,
15 std::string newExtension
);
16 std::string
GetModuleArchiveFilename ( Module
& module
);
17 std::string
GetImportLibraryDependencies ( Module
& module
);
18 std::string
GetSourceFilenames ( Module
& module
);
19 std::string
GetObjectFilename ( std::string sourceFilename
);
20 std::string
GetObjectFilenames ( Module
& module
);
21 void GenerateObjectFileTargets ( Module
& module
);
22 void GenerateArchiveTarget ( Module
& module
);
25 std::string
GenerateGccDefineParametersFromVector ( std::vector
<Define
*> defines
);
26 std::string
GenerateGccDefineParameters ( Module
& module
);
27 std::string
GenerateGccIncludeParametersFromVector ( std::vector
<Include
*> includes
);
28 std::string
GenerateGccIncludeParameters ( Module
& module
);
29 std::string
GenerateGccParameters ( Module
& module
);
33 class MingwKernelModuleHandler
: public MingwModuleHandler
36 MingwKernelModuleHandler ( FILE* fMakefile
);
37 virtual bool CanHandleModule ( Module
& module
);
38 virtual void Process ( Module
& module
);
40 void GenerateKernelModuleTarget ( Module
& module
);
43 #endif /* MINGW_MODULEHANDLER_H */