\r
string\r
ReplaceExtension ( const string& filename,\r
- const string& newExtension )\r
+ const string& newExtension )\r
{\r
size_t index = filename.find_last_of ( '/' );\r
if (index == string::npos) index = 0;\r
{\r
size_t i;\r
\r
- if ( includes.size() || defines.size() )\r
+ if ( includes.size () > 0 || defines.size () > 0 )\r
{\r
GenerateMacro ( assignmentOperation,\r
cflags_macro,\r
}\r
}\r
\r
- if ( files.size() )\r
+ if ( files.size () > 0 )\r
{\r
- for ( i = 0; i < files.size(); i++ )\r
+ for ( i = 0; i < files.size (); i++ )\r
{\r
if ( files[i]->first )\r
{\r
fprintf (\r
fMakefile,\r
"%s %s",\r
- objs_macro.c_str(),\r
+ objs_macro.c_str (),\r
assignmentOperation );\r
for ( i = 0; i < files.size(); i++ )\r
{\r
- string extension = GetExtension ( files[i]->name );\r
- if ( extension != ".spec"\r
- && extension != ".SPEC"\r
- && !files[i]->first )\r
+ if ( !files[i]->first )\r
{\r
fprintf (\r
fMakefile,\r
const string& windresflagsMacro ) const\r
{\r
string objectFilename = PassThruCacheDirectory ( MingwModuleHandler::GetObjectFilename ( sourceFilename ) );\r
+ string rciFilename = ReplaceExtension ( sourceFilename,\r
+ ".rci" );\r
+ string resFilename = ReplaceExtension ( sourceFilename,\r
+ ".res" );\r
fprintf ( fMakefile,\r
"%s: %s\n",\r
objectFilename.c_str (),\r
sourceFilename.c_str () );\r
fprintf ( fMakefile,\r
- "\t%s %s -o %s ${%s}\n",\r
- "${windres}",\r
+ "\t${gcc} -xc -E -DRC_INVOKED ${%s} %s > %s\n",\r
+ windresflagsMacro.c_str (),\r
sourceFilename.c_str (),\r
- objectFilename.c_str (),\r
- windresflagsMacro.c_str () );\r
+ rciFilename.c_str () );\r
+ fprintf ( fMakefile,\r
+ "\t${wrc} ${%s} %s %s\n",\r
+ windresflagsMacro.c_str (),\r
+ rciFilename.c_str (),\r
+ resFilename.c_str () );\r
+ fprintf ( fMakefile,\r
+ "\t${rm} %s\n",\r
+ rciFilename.c_str () );\r
+ fprintf ( fMakefile,\r
+ "\t${windres} %s -o %s\n",\r
+ resFilename.c_str (),\r
+ objectFilename.c_str () );\r
+ fprintf ( fMakefile,\r
+ "\t${rm} %s\n",\r
+ resFilename.c_str () );\r
}\r
\r
void\r
else\r
{\r
fprintf ( fMakefile,\r
- "\t%s %s -o %s %s %s %s\n\n",\r
+ "\t%s %s -o %s %s %s %s\n",\r
linker.c_str (),\r
linkerParameters.c_str (),\r
target.c_str (),\r
importLibraryDependencies.c_str (),\r
GetLinkerMacro ( module ).c_str () );\r
}\r
+\r
+ fprintf ( fMakefile,\r
+ "\t${rsym} %s %s\n\n",\r
+ target.c_str (),\r
+ target.c_str () );\r
}\r
\r
void\r
clean_files.push_back ( ar_target );\r
GetCleanTargets ( clean_files, module.files, module.ifs );\r
\r
- fprintf ( fMakefile, "clean::\n\t-@$(rm)" );\r
+ fprintf ( fMakefile, ".PHONY: %s_clean\n", module.name.c_str() );\r
+ fprintf ( fMakefile, "%s_clean:\n\t-@$(rm)", module.name.c_str() );\r
for ( size_t i = 0; i < clean_files.size(); i++ )\r
{\r
if ( 9==(i%10) )\r
fprintf ( fMakefile, " 2>$(NUL)\n\t-@$(rm)" );\r
fprintf ( fMakefile, " %s", clean_files[i].c_str() );\r
}\r
- fprintf ( fMakefile, " 2>$(NUL)\n\n" );\r
+ fprintf ( fMakefile, " 2>$(NUL)\n" );\r
+ fprintf ( fMakefile, "clean: %s_clean\n\n", module.name.c_str() );\r
}\r
\r
void\r
MingwBuildToolModuleHandler::GenerateBuildToolModuleTarget ( const Module& module )\r
{\r
string target ( FixupTargetFilename ( module.GetPath () ) );\r
- string archiveFilename = GetModuleArchiveFilename ( module );\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string importLibraryDependencies = GetImportLibraryDependencies ( module );\r
\r
GenerateMacrosAndTargetsHost ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- archiveFilename.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
fprintf ( fMakefile,\r
"\t%s %s -o %s %s %s\n\n",\r
linker.c_str (),\r
GetLinkerMacro ( module ).c_str (),\r
target.c_str (),\r
- archiveFilename.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
}\r
\r
string base_tmp = ros_junk + module.name + ".base.tmp";\r
string junk_tmp = ros_junk + module.name + ".junk.tmp";\r
string temp_exp = ros_junk + module.name + ".temp.exp";\r
- string gccOptions = ssprintf ("-Wl,-T,%s" SSEP "ntoskrnl.lnk -Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0xC0000000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll",\r
+ string gccOptions = ssprintf ("-Wl,-T,%s" SSEP "ntoskrnl.lnk -Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll",\r
module.GetBasePath ().c_str (),\r
- module.entrypoint.c_str () );\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
\r
GenerateMacrosAndTargetsTarget ( module );\r
\r
objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
fprintf ( fMakefile,\r
- "\t${rm} %s\n\n",\r
+ "\t${rm} %s\n",\r
temp_exp.c_str () );\r
+ fprintf ( fMakefile,\r
+ "\t${rsym} %s %s\n\n",\r
+ target.c_str (),\r
+ target.c_str () );\r
}\r
\r
\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string target ( FixupTargetFilename ( module.GetPath () ) );\r
string workingDirectory = GetWorkingDirectory ( );\r
- string archiveFilename = GetModuleArchiveFilename ( module );\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string importLibraryDependencies = GetImportLibraryDependencies ( module );\r
\r
GenerateImportLibraryTargetIfNeeded ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- archiveFilename.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
\r
- string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll",\r
- module.entrypoint.c_str () );\r
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll",\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
GenerateLinkerCommand ( module,\r
"${gcc}",\r
linkerParameters,\r
- archiveFilename );\r
+ objectsMacro );\r
}\r
else\r
{\r
{\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string target ( PassThruCacheDirectory( FixupTargetFilename ( module.GetPath () ) ) );\r
- string workingDirectory = GetWorkingDirectory ( );\r
- string archiveFilename = GetModuleArchiveFilename ( module );\r
+ string workingDirectory = GetWorkingDirectory ();\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string importLibraryDependencies = GetImportLibraryDependencies ( module );\r
\r
GenerateImportLibraryTargetIfNeeded ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- archiveFilename.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
\r
- string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll",\r
- module.entrypoint.c_str () );\r
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -mdll",\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
GenerateLinkerCommand ( module,\r
"${gcc}",\r
linkerParameters,\r
- archiveFilename );\r
+ objectsMacro );\r
}\r
else\r
{\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string target ( FixupTargetFilename ( module.GetPath () ) );\r
string workingDirectory = GetWorkingDirectory ( );\r
- string objectFilenames = GetObjectFilenames ( module );\r
- string archiveFilename = GetModuleArchiveFilename ( module );\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string importLibraryDependencies = GetImportLibraryDependencies ( module );\r
\r
GenerateImportLibraryTargetIfNeeded ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- archiveFilename.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
\r
- string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib -mdll",\r
- module.entrypoint.c_str () );\r
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib -mdll",\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
GenerateLinkerCommand ( module,\r
"${gcc}",\r
linkerParameters,\r
- objectFilenames );\r
+ objectsMacro );\r
}\r
else\r
{\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string target ( FixupTargetFilename ( module.GetPath () ) );\r
string workingDirectory = GetWorkingDirectory ( );\r
- string objectFilenames = GetObjectFilenames ( module );\r
- string archiveFilename = GetModuleArchiveFilename ( module );\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string importLibraryDependencies = GetImportLibraryDependencies ( module );\r
\r
GenerateImportLibraryTargetIfNeeded ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- archiveFilename.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
\r
- string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib",\r
- module.entrypoint.c_str () );\r
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,native -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -nostartfiles -nostdlib",\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
GenerateLinkerCommand ( module,\r
"${gcc}",\r
linkerParameters,\r
- objectFilenames );\r
+ objectsMacro );\r
}\r
else\r
{\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string target ( FixupTargetFilename ( module.GetPath () ) );\r
string workingDirectory = GetWorkingDirectory ( );\r
- string objectFilenames = GetObjectFilenames ( module );\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string linkingDependencies = GetLinkingDependencies ( module );\r
\r
GenerateImportLibraryTargetIfNeeded ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- objectFilenames.c_str (),\r
+ objectsMacro.c_str (),\r
linkingDependencies.c_str () );\r
\r
string linker;\r
else\r
linker = "${gcc}";\r
\r
- string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,0x10000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -mdll",\r
- module.entrypoint.c_str () );\r
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000 -mdll",\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
GenerateLinkerCommand ( module,\r
linker,\r
linkerParameters,\r
- objectFilenames );\r
+ objectsMacro );\r
}\r
else\r
{\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string target ( FixupTargetFilename ( module.GetPath () ) );\r
string workingDirectory = GetWorkingDirectory ( );\r
- string objectFilenames = GetObjectFilenames ( module );\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string importLibraryDependencies = GetImportLibraryDependencies ( module );\r
\r
GenerateImportLibraryTargetIfNeeded ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- objectFilenames.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
\r
string linker;\r
else\r
linker = "${gcc}";\r
\r
- string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,0x00400000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000",\r
- module.entrypoint.c_str () );\r
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,console -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000",\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
GenerateLinkerCommand ( module,\r
linker,\r
linkerParameters,\r
- objectFilenames );\r
+ objectsMacro );\r
}\r
else\r
{\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string target ( FixupTargetFilename ( module.GetPath () ) );\r
string workingDirectory = GetWorkingDirectory ( );\r
- string objectFilenames = GetObjectFilenames ( module );\r
+ string objectsMacro = GetObjectsMacro ( module );\r
string importLibraryDependencies = GetImportLibraryDependencies ( module );\r
\r
GenerateImportLibraryTargetIfNeeded ( module );\r
\r
fprintf ( fMakefile, "%s: %s %s\n",\r
target.c_str (),\r
- objectFilenames.c_str (),\r
+ objectsMacro.c_str (),\r
importLibraryDependencies.c_str () );\r
\r
string linker;\r
else\r
linker = "${gcc}";\r
\r
- string linkerParameters = ssprintf ( "-Wl,--subsystem,windows -Wl,--entry,%s -Wl,--image-base,0x00400000 -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000",\r
- module.entrypoint.c_str () );\r
+ string linkerParameters = ssprintf ( "-Wl,--subsystem,windows -Wl,--entry,%s -Wl,--image-base,%s -Wl,--file-alignment,0x1000 -Wl,--section-alignment,0x1000",\r
+ module.entrypoint.c_str (),\r
+ module.baseaddress.c_str () );\r
GenerateLinkerCommand ( module,\r
linker,\r
linkerParameters,\r
- objectFilenames );\r
+ objectsMacro );\r
}\r
else\r
{\r
{\r
static string ros_junk ( "$(ROS_TEMPORARY)" );\r
string targetName ( module.GetTargetName () );\r
- string target ( FixupTargetFilename (module.GetPath ()) );\r
+ string target ( FixupTargetFilename ( module.GetPath () ) );\r
string workingDirectory = GetWorkingDirectory ();\r
string junk_tmp = ros_junk + module.name + ".junk.tmp";\r
string objectsMacro = GetObjectsMacro ( module );\r
GenerateInvocations ( module );\r
}\r
\r
+void\r
+MingwIsoModuleHandler::OutputBootstrapfileCopyCommands ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ for ( size_t i = 0; i < module.project.modules.size (); i++ )\r
+ {\r
+ const Module& m = *module.project.modules[i];\r
+ if ( m.bootstrap != NULL )\r
+ {\r
+ string targetFilenameNoFixup = bootcdDirectory + SSEP + m.bootstrap->base + SSEP + m.bootstrap->nameoncd;\r
+ string targetFilename = PassThruCacheDirectory ( FixupTargetFilename ( targetFilenameNoFixup ) );\r
+ fprintf ( fMakefile,\r
+ "\t${cp} %s %s\n",\r
+ m.GetPath ().c_str (),\r
+ targetFilename.c_str () );\r
+ }\r
+ }\r
+}\r
+\r
+void\r
+MingwIsoModuleHandler::OutputCdfileCopyCommands ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ for ( size_t i = 0; i < module.project.cdfiles.size (); i++ )\r
+ {\r
+ const CDFile& cdfile = *module.project.cdfiles[i];\r
+ string targetFilenameNoFixup = bootcdDirectory + SSEP + cdfile.base + SSEP + cdfile.nameoncd;\r
+ string targetFilename = PassThruCacheDirectory ( FixupTargetFilename ( targetFilenameNoFixup ) );\r
+ fprintf ( fMakefile,\r
+ "\t${cp} %s %s\n",\r
+ cdfile.GetPath ().c_str (),\r
+ targetFilename.c_str () );\r
+ }\r
+}\r
+\r
+string\r
+MingwIsoModuleHandler::GetBootstrapCdDirectories ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ string directories;\r
+ for ( size_t i = 0; i < module.project.modules.size (); i++ )\r
+ {\r
+ const Module& m = *module.project.modules[i];\r
+ if ( m.bootstrap != NULL )\r
+ {\r
+ string targetDirecctory = bootcdDirectory + SSEP + m.bootstrap->base;\r
+ if ( directories.size () > 0 )\r
+ directories += " ";\r
+ directories += FixupTargetFilename ( targetDirecctory );\r
+ }\r
+ }\r
+ return directories;\r
+}\r
+\r
+string\r
+MingwIsoModuleHandler::GetNonModuleCdDirectories ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ string directories;\r
+ for ( size_t i = 0; i < module.project.cdfiles.size (); i++ )\r
+ {\r
+ const CDFile& cdfile = *module.project.cdfiles[i];\r
+ string targetDirecctory = bootcdDirectory + SSEP + cdfile.base;\r
+ if ( directories.size () > 0 )\r
+ directories += " ";\r
+ directories += FixupTargetFilename ( targetDirecctory );\r
+ }\r
+ return directories;\r
+}\r
+\r
+string\r
+MingwIsoModuleHandler::GetCdDirectories ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ string directories = GetBootstrapCdDirectories ( bootcdDirectory,\r
+ module );\r
+ directories += " " + GetNonModuleCdDirectories ( bootcdDirectory,\r
+ module );\r
+ return directories;\r
+}\r
+\r
+string\r
+MingwIsoModuleHandler::GetBootstrapCdFiles ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ string cdfiles;\r
+ for ( size_t i = 0; i < module.project.modules.size (); i++ )\r
+ {\r
+ const Module& m = *module.project.modules[i];\r
+ if ( m.bootstrap != NULL )\r
+ {\r
+ if ( cdfiles.size () > 0 )\r
+ cdfiles += " ";\r
+ cdfiles += FixupTargetFilename ( m.GetPath () );\r
+ }\r
+ }\r
+ return cdfiles;\r
+}\r
+\r
+string\r
+MingwIsoModuleHandler::GetNonModuleCdFiles ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ string cdfiles;\r
+ for ( size_t i = 0; i < module.project.cdfiles.size (); i++ )\r
+ {\r
+ const CDFile& cdfile = *module.project.cdfiles[i];\r
+ if ( cdfiles.size () > 0 )\r
+ cdfiles += " ";\r
+ cdfiles += NormalizeFilename ( cdfile.GetPath () );\r
+ }\r
+ return cdfiles;\r
+}\r
+\r
+string\r
+MingwIsoModuleHandler::GetCdFiles ( const string bootcdDirectory,\r
+ const Module& module ) const\r
+{\r
+ string cdfiles = GetBootstrapCdFiles ( bootcdDirectory,\r
+ module );\r
+ cdfiles += " " + GetNonModuleCdFiles ( bootcdDirectory,\r
+ module );\r
+ return cdfiles;\r
+}\r
+\r
void\r
MingwIsoModuleHandler::GenerateIsoModuleTarget ( const Module& module )\r
{\r
PassThruCacheDirectory ( bootcdReactos + SSEP );\r
string reactosInf = FixupTargetFilename ( bootcdReactosNoFixup + "/reactos.inf" );\r
string reactosDff = NormalizeFilename ( "bootdata/packages/reactos.dff" );\r
+ string cdDirectories = bootcdReactos + " " + GetCdDirectories ( bootcdDirectory,\r
+ module );\r
+ string cdFiles = GetCdFiles ( bootcdDirectory,\r
+ module );\r
\r
fprintf ( fMakefile, ".PHONY: %s\n\n",\r
module.name.c_str ());\r
fprintf ( fMakefile,\r
- "%s: all %s %s\n",\r
+ "%s: all %s %s %s\n",\r
module.name.c_str (),\r
isoboot.c_str (),\r
- bootcdReactos.c_str () );\r
+ cdDirectories.c_str (),\r
+ cdFiles.c_str () );\r
fprintf ( fMakefile,\r
- "\t${cabman} /C %s /L %s /I\n",\r
+ "\t${cabman} -C %s -L %s -I\n",\r
reactosDff.c_str (),\r
bootcdReactos.c_str () );\r
fprintf ( fMakefile,\r
- "\t${cabman} /C %s /RC %s /L %s /N\n",\r
+ "\t${cabman} -C %s -RC %s -L %s -N\n",\r
reactosDff.c_str (),\r
reactosInf.c_str (),\r
bootcdReactos.c_str () );\r
fprintf ( fMakefile,\r
"\t- ${rm} %s\n",\r
reactosInf.c_str () );\r
+ OutputBootstrapfileCopyCommands ( bootcdDirectory,\r
+ module );\r
+ OutputCdfileCopyCommands ( bootcdDirectory,\r
+ module );\r
fprintf ( fMakefile,\r
"\t${cdmake} -v -m -b %s %s REACTOS ReactOS.iso\n",\r
isoboot.c_str (),\r