\r
std::string GetObjectFilename ( const std::string& sourceFilename ) const;\r
std::string GetObjectFilenames ( const Module& module ) const;\r
- void GenerateObjectFileTargetsHost ( const Module& module ) const;\r
- void GenerateObjectFileTargetsTarget ( const Module& module ) const;\r
- void GenerateArchiveTargetHost ( const Module& module ) const;\r
- void GenerateArchiveTargetTarget ( const Module& module ) const;\r
+ void GenerateMacrosAndTargetsHost ( const Module& module ) const;\r
+ void GenerateMacrosAndTargetsTarget ( const Module& module ) const;\r
std::string GetInvocationDependencies ( const Module& module ) const;\r
std::string GetInvocationParameters ( const Invoke& invoke ) const;\r
void GenerateInvocations ( const Module& module ) const;\r
void GeneratePreconditionDependencies ( const Module& module ) const;\r
- std::string GenerateObjectList ( const Module& module ) const;\r
+ std::string GenerateMacros ( const Module& module,\r
+ const std::string& cflags_macro,\r
+ const std::string& objs_macro ) const;\r
static FILE* fMakefile;\r
private:\r
std::string ConcatenatePaths ( const std::string& path1,\r
std::string GenerateGccDefineParametersFromVector ( const std::vector<Define*>& defines ) const;\r
std::string GenerateGccDefineParameters ( const Module& module ) const;\r
std::string GenerateGccIncludeParametersFromVector ( const std::vector<Include*>& includes ) const;\r
+ void GenerateMacros ( const char* op,\r
+ const std::vector<File*>& files,\r
+ const std::vector<Include*>& includes,\r
+ const std::vector<Define*>& defines,\r
+ const std::vector<If*>& ifs,\r
+ const std::string& cflags_macro,\r
+ const std::string& nasmflags_macro,\r
+ const std::string& objs_macro) const;\r
+ void GenerateMacros ( const Module& module,\r
+ const std::string& cflags_macro,\r
+ const std::string& nasmflags_macro,\r
+ const std::string& objs_macro) const;\r
void GenerateGccModuleIncludeVariable ( const Module& module ) const;\r
std::string GenerateGccIncludeParameters ( const Module& module ) const;\r
std::string GenerateGccParameters ( const Module& module ) const;\r
std::string GenerateNasmParameters ( const Module& module ) const;\r
std::string GenerateGccCommand ( const Module& module,\r
const std::string& sourceFilename,\r
- const std::string& cc ) const;\r
+ const std::string& cc,\r
+ const std::string& cflagsMacro ) const;\r
std::string GenerateGccAssemblerCommand ( const Module& module,\r
const std::string& sourceFilename,\r
- const std::string& cc ) const;\r
+ const std::string& cc,\r
+ const std::string& cflagsMacro ) const;\r
std::string GenerateNasmCommand ( const Module& module,\r
- const std::string& sourceFilename ) const;\r
+ const std::string& sourceFilename,\r
+ const std::string& nasmflagsMacro ) const;\r
std::string GenerateCommand ( const Module& module,\r
const std::string& sourceFilename,\r
- const std::string& cc ) const;\r
+ const std::string& cc,\r
+ const std::string& cflagsMacro,\r
+ const std::string& nasmflagsMacro ) const;\r
void GenerateObjectFileTargets ( const Module& module,\r
- const std::string& cc ) const;\r
+ const std::vector<File*>& files,\r
+ const std::vector<If*>& ifs,\r
+ const std::string& cc,\r
+ const std::string& cflagsMacro,\r
+ const std::string& nasmflagsMacro ) const;\r
+ void GenerateObjectFileTargets ( const Module& module,\r
+ const std::string& cc,\r
+ const std::string& cflagsMacro,\r
+ const std::string& nasmflagsMacro ) const;\r
void GenerateArchiveTarget ( const Module& module,\r
- const std::string& ar ) const;\r
+ const std::string& ar,\r
+ const std::string& objs_macro ) const;\r
+ void GenerateMacrosAndTargets ( const Module& module,\r
+ const std::string& cc,\r
+ const std::string& ar ) const;\r
std::string GetPreconditionDependenciesName ( const Module& module ) const;\r
};\r
\r
void GenerateKernelModeDLLModuleTarget ( const Module& module );\r
};\r
\r
+\r
+class MingwNativeDLLModuleHandler : public MingwModuleHandler\r
+{\r
+public:\r
+ MingwNativeDLLModuleHandler ();\r
+ virtual void Process ( const Module& module );\r
+private:\r
+ void GenerateNativeDLLModuleTarget ( const Module& module );\r
+};\r
+\r
+\r
+class MingwWin32DLLModuleHandler : public MingwModuleHandler\r
+{\r
+public:\r
+ MingwWin32DLLModuleHandler ();\r
+ virtual void Process ( const Module& module );\r
+private:\r
+ void GenerateWin32DLLModuleTarget ( const Module& module );\r
+};\r
+\r
#endif /* MINGW_MODULEHANDLER_H */\r