Refactor GenerateGlobalCFlagsAndProperties

svn path=/branches/xmlbuildsystem/; revision=13069
This commit is contained in:
Casper Hornstrup
2005-01-15 23:00:02 +00:00
parent d451f1d1f2
commit 8df8ba2e6a
2 changed files with 47 additions and 33 deletions
+39 -26
View File
@@ -59,9 +59,44 @@ MingwBackend::GenerateHeader ()
fprintf ( fMakefile, "# THIS FILE IS AUTOMATICALLY GENERATED, EDIT 'ReactOS.xml' INSTEAD\n\n" );
}
void
MingwBackend::GenerateProjectCFlagsMacro ( const char* assignmentOperation,
const vector<Include*>& includes,
const vector<Define*>& defines ) const
{
size_t i;
fprintf (
fMakefile,
"PROJECT_CFLAGS %s",
assignmentOperation );
for ( i = 0; i < includes.size(); i++ )
{
fprintf (
fMakefile,
" -I%s",
includes[i]->directory.c_str() );
}
for ( i = 0; i < defines.size(); i++ )
{
Define& d = *defines[i];
fprintf (
fMakefile,
" -D%s",
d.name.c_str() );
if ( d.value.size() )
fprintf (
fMakefile,
"=%s",
d.value.c_str() );
}
fprintf ( fMakefile, "\n" );
}
void
MingwBackend::GenerateGlobalCFlagsAndProperties (
const char* op,
const char* assignmentOperation,
const vector<Property*>& properties,
const vector<Include*>& includes,
const vector<Define*>& defines,
@@ -79,31 +114,9 @@ MingwBackend::GenerateGlobalCFlagsAndProperties (
if ( includes.size() || defines.size() )
{
fprintf (
fMakefile,
"PROJECT_CFLAGS %s",
op );
for ( i = 0; i < includes.size(); i++ )
{
fprintf (
fMakefile,
" -I%s",
includes[i]->directory.c_str() );
}
for ( i = 0; i < defines.size(); i++ )
{
Define& d = *defines[i];
fprintf (
fMakefile,
" -D%s",
d.name.c_str() );
if ( d.value.size() )
fprintf (
fMakefile,
"=%s",
d.value.c_str() );
}
fprintf ( fMakefile, "\n" );
GenerateProjectCFlagsMacro ( assignmentOperation,
includes,
defines );
}
for ( i = 0; i < ifs.size(); i++ )
+8 -7
View File
@@ -14,13 +14,14 @@ private:
void CreateMakefile ();
void CloseMakefile ();
void GenerateHeader ();
void
MingwBackend::GenerateGlobalCFlagsAndProperties (
const char* op,
const std::vector<Property*>& properties,
const std::vector<Include*>& includes,
const std::vector<Define*>& defines,
const std::vector<If*>& ifs );
void GenerateProjectCFlagsMacro ( const char* assignmentOperation,
const std::vector<Include*>& includes,
const std::vector<Define*>& defines ) const;
void GenerateGlobalCFlagsAndProperties ( const char* op,
const std::vector<Property*>& properties,
const std::vector<Include*>& includes,
const std::vector<Define*>& defines,
const std::vector<If*>& ifs );
std::string GenerateProjectLFLAGS ();
void GenerateGlobalVariables ();
void GenerateAllTarget ();