From e66ffe54fe8aba9ac1a763d447f111a12d1e9a2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Poussineau?= Date: Sun, 27 Jul 2008 17:12:44 +0000 Subject: [PATCH] Fix code to correctly handle first object file. It was luckily working because first file was always conditional. svn path=/trunk/; revision=34854 --- .../rbuild/backend/mingw/modulehandler.cpp | 23 ++++++++----------- .../rbuild/backend/mingw/modulehandler.h | 6 ++--- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp index 2289d46ca94..2c0b58e61d4 100644 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.cpp +++ b/reactos/tools/rbuild/backend/mingw/modulehandler.cpp @@ -868,7 +868,6 @@ MingwModuleHandler::GetModuleSpecificCompilationUnits ( vector void MingwModuleHandler::GenerateSourceMacros ( - const char* assignmentOperation, const IfableData& data ) { size_t i; @@ -879,9 +878,8 @@ MingwModuleHandler::GenerateSourceMacros ( { fprintf ( fMakefile, - "%s %s", - sourcesMacro.c_str (), - assignmentOperation ); + "%s =", + sourcesMacro.c_str () ); for ( i = 0; i < compilationUnits.size(); i++ ) { CompilationUnit& compilationUnit = *compilationUnits[i]; @@ -911,10 +909,10 @@ MingwModuleHandler::GenerateSourceMacros ( void MingwModuleHandler::GenerateObjectMacros ( - const char* assignmentOperation, const IfableData& data ) { size_t i; + const char* assignmentOperation = "="; const vector& compilationUnits = data.compilationUnits; vector headers; @@ -930,11 +928,12 @@ MingwModuleHandler::GenerateObjectMacros ( const FileLocation& compilationName = compilationUnit.GetFilename (); const FileLocation *object_file = GetObjectFilename ( &compilationName, module ); fprintf ( fMakefile, - "%s := %s $(%s)\n", + "%s := %s\n", objectsMacro.c_str(), - backend->GetFullName ( *object_file ).c_str (), - objectsMacro.c_str() ); + backend->GetFullName ( *object_file ).c_str () ); delete object_file; + assignmentOperation = "+="; + break; } } fprintf ( @@ -1755,9 +1754,7 @@ MingwModuleHandler::GenerateSourceMacro () { sourcesMacro = ssprintf ( "%s_SOURCES", module.name.c_str ()); - GenerateSourceMacros ( - "=", - module.non_if_data ); + GenerateSourceMacros ( module.non_if_data ); // future references to the macro will be to get its values sourcesMacro = ssprintf ("$(%s)", sourcesMacro.c_str ()); @@ -1768,9 +1765,7 @@ MingwModuleHandler::GenerateObjectMacro () { objectsMacro = ssprintf ("%s_OBJS", module.name.c_str ()); - GenerateObjectMacros ( - "=", - module.non_if_data ); + GenerateObjectMacros ( module.non_if_data ); // future references to the macro will be to get its values objectsMacro = ssprintf ("$(%s)", objectsMacro.c_str ()); diff --git a/reactos/tools/rbuild/backend/mingw/modulehandler.h b/reactos/tools/rbuild/backend/mingw/modulehandler.h index 2c5d31cbee4..9d9f62dccef 100644 --- a/reactos/tools/rbuild/backend/mingw/modulehandler.h +++ b/reactos/tools/rbuild/backend/mingw/modulehandler.h @@ -134,10 +134,8 @@ private: const IfableData& data, const std::vector* linkerFlags, std::set& used_defs ); - void GenerateSourceMacros ( const char* assignmentOperation, - const IfableData& data ); - void GenerateObjectMacros ( const char* assignmentOperation, - const IfableData& data ); + void GenerateSourceMacros ( const IfableData& data ); + void GenerateObjectMacros ( const IfableData& data ); std::string GenerateGccIncludeParameters () const; std::string GenerateGccParameters () const; std::string GenerateNasmParameters () const;