Let dependencies control 'make install'
Modified: branches/xmlbuildsystem/reactos/media/nls/nls.xml
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp
Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h

Modified: branches/xmlbuildsystem/reactos/media/nls/nls.xml
--- branches/xmlbuildsystem/reactos/media/nls/nls.xml	2005-04-04 03:55:43 UTC (rev 14486)
+++ branches/xmlbuildsystem/reactos/media/nls/nls.xml	2005-04-04 19:39:44 UTC (rev 14487)
@@ -3,34 +3,6 @@
 <cdfile base="reactos">l_intl.nls</cdfile>
 
 <installfile base="system32">c_037.nls</installfile>
-<installfile base="system32">c_037.nls</installfile>
-<installfile base="system32">c_10000.nls</installfile>
-<installfile base="system32">c_10006.nls</installfile>
-<installfile base="system32">c_10007.nls</installfile>
-<installfile base="system32">c_10029.nls</installfile>
-<installfile base="system32">c_1006.nls</installfile>
-<installfile base="system32">c_10079.nls</installfile>
-<installfile base="system32">c_10081.nls</installfile>
-<installfile base="system32">c_1026.nls</installfile>
-<installfile base="system32">c_1250.nls</installfile>
-<installfile base="system32">c_1251.nls</installfile>
-<installfile base="system32" newname="ansi.nls">c_1252.nls</installfile>
-<installfile base="system32">c_1253.nls</installfile>
-<installfile base="system32">c_1254.nls</installfile>
-<installfile base="system32">c_1255.nls</installfile>
-<installfile base="system32">c_1256.nls</installfile>
-<installfile base="system32">c_1257.nls</installfile>
-<installfile base="system32">c_1258.nls</installfile>
-<installfile base="system32">c_20866.nls</installfile>
-<installfile base="system32">c_28591.nls</installfile>
-<installfile base="system32">c_28592.nls</installfile>
-<installfile base="system32">c_28593.nls</installfile>
-<installfile base="system32">c_28594.nls</installfile>
-<installfile base="system32">c_28595.nls</installfile>
-<installfile base="system32">c_28596.nls</installfile>
-<installfile base="system32">c_28597.nls</installfile>
-<installfile base="system32">c_28598.nls</installfile>
-<installfile base="system32">c_28599.nls</installfile>
 <installfile base="system32">c_424.nls</installfile>
 <installfile base="system32" newname="oem.nls">c_437.nls</installfile>
 <installfile base="system32">c_500.nls</installfile>
@@ -56,4 +28,31 @@
 <installfile base="system32">c_936.nls</installfile>
 <installfile base="system32">c_949.nls</installfile>
 <installfile base="system32">c_950.nls</installfile>
+<installfile base="system32">c_1006.nls</installfile>
+<installfile base="system32">c_1026.nls</installfile>
+<installfile base="system32">c_1250.nls</installfile>
+<installfile base="system32">c_1251.nls</installfile>
+<installfile base="system32" newname="ansi.nls">c_1252.nls</installfile>
+<installfile base="system32">c_1253.nls</installfile>
+<installfile base="system32">c_1254.nls</installfile>
+<installfile base="system32">c_1255.nls</installfile>
+<installfile base="system32">c_1256.nls</installfile>
+<installfile base="system32">c_1257.nls</installfile>
+<installfile base="system32">c_1258.nls</installfile>
+<installfile base="system32">c_10000.nls</installfile>
+<installfile base="system32">c_10006.nls</installfile>
+<installfile base="system32">c_10007.nls</installfile>
+<installfile base="system32">c_10029.nls</installfile>
+<installfile base="system32">c_10079.nls</installfile>
+<installfile base="system32">c_10081.nls</installfile>
+<installfile base="system32">c_20866.nls</installfile>
+<installfile base="system32">c_28591.nls</installfile>
+<installfile base="system32">c_28592.nls</installfile>
+<installfile base="system32">c_28593.nls</installfile>
+<installfile base="system32">c_28594.nls</installfile>
+<installfile base="system32">c_28595.nls</installfile>
+<installfile base="system32">c_28596.nls</installfile>
+<installfile base="system32">c_28597.nls</installfile>
+<installfile base="system32">c_28598.nls</installfile>
+<installfile base="system32">c_28599.nls</installfile>
 <installfile base="system32" newname="casemap.nls">l_intl.nls</installfile>

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp	2005-04-04 03:55:43 UTC (rev 14486)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.cpp	2005-04-04 19:39:44 UTC (rev 14487)
@@ -656,7 +656,9 @@
 }
 
 void
-MingwBackend::OutputInstallfileCopyCommands ( const string& installDirectory )
+MingwBackend::GetNonModuleInstallTargetFiles (
+	string installDirectory,
+	vector<string>& out ) const
 {
 	for ( size_t i = 0; i < ProjectNode.installfiles.size (); i++ )
 	{
@@ -665,7 +667,38 @@
 		string targetFilename = MingwModuleHandler::PassThruCacheDirectory (
 			FixupTargetFilename ( targetFilenameNoFixup ),
 			true );
+		out.push_back ( targetFilename );
+	}
+}
+
+void
+MingwBackend::GetInstallTargetFiles (
+	string installDirectory,
+	vector<string>& out ) const
+{
+	GetNonModuleInstallTargetFiles ( installDirectory,
+	                                 out );
+}
+
+void
+MingwBackend::OutputInstallfileTargets ( const string& installDirectory )
+{
+	for ( size_t i = 0; i < ProjectNode.installfiles.size (); i++ )
+	{
+		const InstallFile& installfile = *ProjectNode.installfiles[i];
+		string targetFilenameNoFixup = installDirectory + SSEP + installfile.base + SSEP + installfile.newname;
+		string targetFilename = MingwModuleHandler::PassThruCacheDirectory (
+			FixupTargetFilename ( targetFilenameNoFixup ),
+			true );
+		string targetDirectory = MingwModuleHandler::PassThruCacheDirectory (
+			FixupTargetFilename ( installDirectory + SSEP + installfile.base ),
+			true );
 		fprintf ( fMakefile,
+		          "%s: %s %s\n",
+		          targetFilename.c_str (),
+		          installfile.GetPath ().c_str (),
+		          targetDirectory.c_str () );
+		fprintf ( fMakefile,
 		          "\t$(ECHO_CP)\n" );
 		fprintf ( fMakefile,
 		          "\t${cp} %s %s\n",
@@ -679,19 +712,18 @@
 {
 	string installDirectoryNoFixup = "reactos";
 	string installDirectory = MingwModuleHandler::PassThruCacheDirectory (
-		FixupTargetFilename ( installDirectoryNoFixup ),
+		NormalizeFilename ( installDirectoryNoFixup ),
 		true );
-	string installDirectories = GetInstallDirectories ( installDirectoryNoFixup );
-	vector<string> vInstallFiles;
-	GetInstallFiles ( vInstallFiles );
-	string installFiles = v2s ( vInstallFiles, 5 );
+	vector<string> vInstallTargetFiles;
+	GetInstallTargetFiles ( installDirectoryNoFixup,
+	                        vInstallTargetFiles );
+	string installTargetFiles = v2s ( vInstallTargetFiles, 5 );
 
 	fprintf ( fMakefile,
-	          "install: all %s %s %s\n",
+	          "install: %s %s\n",
 	          installDirectory.c_str (),
-	          installDirectories.c_str (),
-	          installFiles.c_str () );
-	OutputInstallfileCopyCommands ( installDirectoryNoFixup );
+	          installTargetFiles.c_str () );
+	OutputInstallfileTargets ( installDirectoryNoFixup );
 	fprintf ( fMakefile,
 	          "\n" );
 }

Modified: branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h
--- branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h	2005-04-04 03:55:43 UTC (rev 14486)
+++ branches/xmlbuildsystem/reactos/tools/rbuild/backend/mingw/mingw.h	2005-04-04 19:39:44 UTC (rev 14487)
@@ -48,7 +48,11 @@
 	std::string GetInstallDirectories ( const std::string& installDirectory );
 	void GetNonModuleInstallFiles ( std::vector<std::string>& out ) const;
 	void GetInstallFiles ( std::vector<std::string>& out ) const;
-	void OutputInstallfileCopyCommands ( const std::string& installDirectory );
+	void GetNonModuleInstallTargetFiles ( std::string installDirectory,
+	                                      std::vector<std::string>& out ) const;
+	void GetInstallTargetFiles ( std::string installDirectory,
+	                             std::vector<std::string>& out ) const;
+	void OutputInstallfileTargets ( const std::string& installDirectory );
 	void GenerateInstallTarget ();
 	FILE* fMakefile;
 	bool use_pch;