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