Put winebuild output in intermediate directory Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h Modified: branches/xmlbuildsystem/reactos/tools/winebuild/winebuild.mak _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-04-01 18:35:34 UTC (rev 14422) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .cpp 2005-04-01 19:31:52 UTC (rev 14423) @@ -848,7 +848,7 @@
def_file.c_str () );
fprintf ( fMakefile, - "%s: %s\n", + "%s: %s $(WINEBUILD_TARGET)\n", stub_file.c_str (), sourceFilename.c_str () ); fprintf ( fMakefile, "\t$(ECHO_WINEBLD)\n" ); @@ -946,7 +946,7 @@ CLEAN_FILE ( junk_tmp ); string temp_exp = ros_temp + module.name + ".temp.exp"; CLEAN_FILE ( temp_exp ); - string def_file = module.GetBasePath () + SSEP + module.importLibrary->definition; + string def_file = GetDefinitionFilename ();
fprintf ( fMakefile, "\t%s %s -Wl,--base-file,%s -o %s %s %s %s\n", @@ -1420,6 +1420,26 @@ fprintf ( fMakefile, "\n" ); }
+bool +MingwModuleHandler::IsWineModule () const +{ + if ( module.importLibrary == NULL) + return false; + + size_t index = module.importLibrary->definition.rfind ( ".spec.def" ); + return ( index != string::npos ); +} + +string +MingwModuleHandler::GetDefinitionFilename () const +{ + string defFilename = module.GetBasePath () + SSEP + module.importLibrary->definition; + if ( IsWineModule () ) + return PassThruCacheDirectory ( defFilename, false ); + else + return defFilename; +} + void MingwModuleHandler::GenerateImportLibraryTargetIfNeeded () { @@ -1442,7 +1462,7 @@ deps[i].c_str () );
fprintf ( fMakefile, " %s\n", - GetDirectory(GetTargetFilename(module,NULL)).c_str () ); + GetDirectory ( GetTargetFilename ( module, NULL ) ).c_str () );
fprintf ( fMakefile, "\t$(ECHO_DLLTOOL)\n" );
@@ -1450,7 +1470,7 @@ fprintf ( fMakefile, "\t${dlltool} --dllname %s --def %s --output-lib %s %s\n\n", module.GetTargetName ().c_str (), - ( module.GetBasePath () + SSEP + module.importLibrary->definition ).c_str (), + GetDefinitionFilename ().c_str (), library_target.c_str (), killAt.c_str () ); } @@ -1462,8 +1482,10 @@ const string& filename ) const { string basename = GetBasename ( filename ); - dependencies.push_back ( basename + ".spec.def" ); - dependencies.push_back ( basename + ".stubs.c" ); + string defDependency = PassThruCacheDirectory ( FixupTargetFilename ( basename + ".spec.def" ), false ); + dependencies.push_back ( defDependency ); + string stubsDependency = PassThruCacheDirectory ( FixupTargetFilename ( basename + ".stubs.c" ), false ); + dependencies.push_back ( stubsDependency ); }
void _____
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h --- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h 2005-04-01 18:35:34 UTC (rev 14422) +++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/modulehandler .h 2005-04-01 19:31:52 UTC (rev 14423) @@ -144,7 +144,8 @@
const std::string& filename ) const; void GetDefaultDependencies ( string_list& dependencies ) const; void GetInvocationDependencies ( const Module& module, string_list& dependencies ); - + bool IsWineModule () const; + std::string GetDefinitionFilename () const; public: const Module& module; string_list clean_files; _____
Modified: branches/xmlbuildsystem/reactos/tools/winebuild/winebuild.mak --- branches/xmlbuildsystem/reactos/tools/winebuild/winebuild.mak 2005-04-01 18:35:34 UTC (rev 14422) +++ branches/xmlbuildsystem/reactos/tools/winebuild/winebuild.mak 2005-04-01 19:31:52 UTC (rev 14423) @@ -30,7 +30,7 @@
)
WINEBUILD_OBJECTS = \ - $(addprefix $(INTERMEDIATE), $(WINEBUILD_SOURCES:.c=.o)) + $(addprefix $(INTERMEDIATE_), $(WINEBUILD_SOURCES:.c=.o))
WINEBUILD_HOST_CFLAGS = -D__USE_W32API -Iinclude/wine