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