mirror of
https://github.com/reactos/reactos.git
synced 2024-09-30 22:47:28 +00:00
Add list of source files in generated makefile
svn path=/trunk/; revision=29495
This commit is contained in:
parent
54eae92953
commit
8596afd334
|
@ -260,6 +260,8 @@ MingwBackend::ProcessModules ()
|
|||
|
||||
size_t iend = v.size ();
|
||||
|
||||
for ( i = 0; i < iend; i++ )
|
||||
v[i]->GenerateSourceMacro();
|
||||
for ( i = 0; i < iend; i++ )
|
||||
v[i]->GenerateObjectMacro();
|
||||
fprintf ( fMakefile, "\n" );
|
||||
|
|
|
@ -906,11 +906,77 @@ MingwModuleHandler::GetModuleSpecificCompilationUnits ( vector<CompilationUnit*>
|
|||
{
|
||||
}
|
||||
|
||||
void
|
||||
MingwModuleHandler::GenerateSourceMacros (
|
||||
const char* assignmentOperation,
|
||||
const IfableData& data )
|
||||
{
|
||||
size_t i;
|
||||
|
||||
const vector<CompilationUnit*>& compilationUnits = data.compilationUnits;
|
||||
vector<const FileLocation *> headers;
|
||||
if ( compilationUnits.size () > 0 )
|
||||
{
|
||||
fprintf (
|
||||
fMakefile,
|
||||
"%s %s",
|
||||
sourcesMacro.c_str (),
|
||||
assignmentOperation );
|
||||
for ( i = 0; i < compilationUnits.size(); i++ )
|
||||
{
|
||||
CompilationUnit& compilationUnit = *compilationUnits[i];
|
||||
fprintf (
|
||||
fMakefile,
|
||||
"%s%s",
|
||||
( i%10 == 9 ? " \\\n\t" : " " ),
|
||||
backend->GetFullName ( *compilationUnit.GetFilename () ).c_str () );
|
||||
}
|
||||
fprintf ( fMakefile, "\n" );
|
||||
}
|
||||
|
||||
const vector<If*>& ifs = data.ifs;
|
||||
for ( i = 0; i < ifs.size(); i++ )
|
||||
{
|
||||
If& rIf = *ifs[i];
|
||||
if ( rIf.data.defines.size()
|
||||
|| rIf.data.includes.size()
|
||||
|| rIf.data.libraries.size()
|
||||
|| rIf.data.compilationUnits.size()
|
||||
|| rIf.data.compilerFlags.size()
|
||||
|| rIf.data.ifs.size() )
|
||||
{
|
||||
fprintf (
|
||||
fMakefile,
|
||||
"%s (\"$(%s)\",\"%s\")\n",
|
||||
rIf.negated ? "ifneq" : "ifeq",
|
||||
rIf.property.c_str(),
|
||||
rIf.value.c_str() );
|
||||
GenerateSourceMacros (
|
||||
"+=",
|
||||
rIf.data );
|
||||
fprintf (
|
||||
fMakefile,
|
||||
"endif\n\n" );
|
||||
}
|
||||
}
|
||||
|
||||
vector<CompilationUnit*> sourceCompilationUnits;
|
||||
GetModuleSpecificCompilationUnits ( sourceCompilationUnits );
|
||||
for ( i = 0; i < sourceCompilationUnits.size (); i++ )
|
||||
{
|
||||
fprintf (
|
||||
fMakefile,
|
||||
"%s += %s\n",
|
||||
sourcesMacro.c_str(),
|
||||
backend->GetFullName ( *sourceCompilationUnits[i]->GetFilename () ).c_str () );
|
||||
}
|
||||
CleanupCompilationUnitVector ( sourceCompilationUnits );
|
||||
}
|
||||
|
||||
void
|
||||
MingwModuleHandler::GenerateObjectMacros (
|
||||
const char* assignmentOperation,
|
||||
const IfableData& data,
|
||||
const vector<LinkerFlag*>* linkerFlags )
|
||||
const IfableData& data )
|
||||
{
|
||||
size_t i;
|
||||
|
||||
|
@ -988,8 +1054,7 @@ MingwModuleHandler::GenerateObjectMacros (
|
|||
rIf.value.c_str() );
|
||||
GenerateObjectMacros (
|
||||
"+=",
|
||||
rIf.data,
|
||||
NULL );
|
||||
rIf.data );
|
||||
fprintf (
|
||||
fMakefile,
|
||||
"endif\n\n" );
|
||||
|
@ -1886,6 +1951,19 @@ MingwModuleHandler::GetModuleTargets ( const Module& module )
|
|||
return backend->GetFullName ( *GetTargetFilename ( module, NULL ) ).c_str ();
|
||||
}
|
||||
|
||||
void
|
||||
MingwModuleHandler::GenerateSourceMacro ()
|
||||
{
|
||||
sourcesMacro = ssprintf ( "%s_SOURCES", module.name.c_str ());
|
||||
|
||||
GenerateSourceMacros (
|
||||
"=",
|
||||
module.non_if_data );
|
||||
|
||||
// future references to the macro will be to get its values
|
||||
sourcesMacro = ssprintf ("$(%s)", sourcesMacro.c_str ());
|
||||
}
|
||||
|
||||
void
|
||||
MingwModuleHandler::GenerateObjectMacro ()
|
||||
{
|
||||
|
@ -1893,8 +1971,7 @@ MingwModuleHandler::GenerateObjectMacro ()
|
|||
|
||||
GenerateObjectMacros (
|
||||
"=",
|
||||
module.non_if_data,
|
||||
&module.linkerFlags );
|
||||
module.non_if_data );
|
||||
|
||||
// future references to the macro will be to get its values
|
||||
objectsMacro = ssprintf ("$(%s)", objectsMacro.c_str ());
|
||||
|
|
|
@ -57,6 +57,7 @@ public:
|
|||
std::string GetModuleTargets ( const Module& module );
|
||||
void GetObjectsVector ( const IfableData& data,
|
||||
std::vector<FileLocation>& objectFiles ) const;
|
||||
void GenerateSourceMacro();
|
||||
void GenerateObjectMacro();
|
||||
void GenerateTargetMacro();
|
||||
void GenerateOtherMacros();
|
||||
|
@ -139,9 +140,10 @@ private:
|
|||
void GenerateMacros ( const char* op,
|
||||
const IfableData& data,
|
||||
const std::vector<LinkerFlag*>* linkerFlags );
|
||||
void GenerateSourceMacros ( const char* assignmentOperation,
|
||||
const IfableData& data );
|
||||
void GenerateObjectMacros ( const char* assignmentOperation,
|
||||
const IfableData& data,
|
||||
const std::vector<LinkerFlag*>* linkerFlags );
|
||||
const IfableData& data );
|
||||
std::string GenerateGccIncludeParameters () const;
|
||||
std::string GenerateGccParameters () const;
|
||||
std::string GenerateNasmParameters () const;
|
||||
|
@ -221,6 +223,7 @@ public:
|
|||
std::string windresflagsMacro;
|
||||
std::string widlflagsMacro;
|
||||
std::string linkerflagsMacro;
|
||||
std::string sourcesMacro;
|
||||
std::string objectsMacro;
|
||||
std::string libsMacro;
|
||||
std::string linkDepsMacro;
|
||||
|
|
Loading…
Reference in a new issue