From 77b574742c7fe0d6afcef8096951320e3ab9678f Mon Sep 17 00:00:00 2001 From: Casper Hornstrup Date: Mon, 4 Apr 2005 19:39:44 +0000 Subject: [PATCH 1/1] Let dependencies control 'make install' svn path=/branches/xmlbuildsystem/; revision=14487 --- reactos/media/nls/nls.xml | 55 ++++++++++---------- reactos/tools/rbuild/backend/mingw/mingw.cpp | 52 ++++++++++++++---- reactos/tools/rbuild/backend/mingw/mingw.h | 6 ++- 3 files changed, 74 insertions(+), 39 deletions(-) diff --git a/reactos/media/nls/nls.xml b/reactos/media/nls/nls.xml index 907972cd10e..0020ebf4168 100644 --- a/reactos/media/nls/nls.xml +++ b/reactos/media/nls/nls.xml @@ -3,34 +3,6 @@ l_intl.nls c_037.nls -c_037.nls -c_10000.nls -c_10006.nls -c_10007.nls -c_10029.nls -c_1006.nls -c_10079.nls -c_10081.nls -c_1026.nls -c_1250.nls -c_1251.nls -c_1252.nls -c_1253.nls -c_1254.nls -c_1255.nls -c_1256.nls -c_1257.nls -c_1258.nls -c_20866.nls -c_28591.nls -c_28592.nls -c_28593.nls -c_28594.nls -c_28595.nls -c_28596.nls -c_28597.nls -c_28598.nls -c_28599.nls c_424.nls c_437.nls c_500.nls @@ -56,4 +28,31 @@ c_936.nls c_949.nls c_950.nls +c_1006.nls +c_1026.nls +c_1250.nls +c_1251.nls +c_1252.nls +c_1253.nls +c_1254.nls +c_1255.nls +c_1256.nls +c_1257.nls +c_1258.nls +c_10000.nls +c_10006.nls +c_10007.nls +c_10029.nls +c_10079.nls +c_10081.nls +c_20866.nls +c_28591.nls +c_28592.nls +c_28593.nls +c_28594.nls +c_28595.nls +c_28596.nls +c_28597.nls +c_28598.nls +c_28599.nls l_intl.nls diff --git a/reactos/tools/rbuild/backend/mingw/mingw.cpp b/reactos/tools/rbuild/backend/mingw/mingw.cpp index 59f0da19829..b8d43cee7fe 100644 --- a/reactos/tools/rbuild/backend/mingw/mingw.cpp +++ b/reactos/tools/rbuild/backend/mingw/mingw.cpp @@ -656,7 +656,9 @@ MingwBackend::GetInstallFiles ( } void -MingwBackend::OutputInstallfileCopyCommands ( const string& installDirectory ) +MingwBackend::GetNonModuleInstallTargetFiles ( + string installDirectory, + vector& out ) const { for ( size_t i = 0; i < ProjectNode.installfiles.size (); i++ ) { @@ -665,6 +667,37 @@ MingwBackend::OutputInstallfileCopyCommands ( const string& installDirectory ) string targetFilename = MingwModuleHandler::PassThruCacheDirectory ( FixupTargetFilename ( targetFilenameNoFixup ), true ); + out.push_back ( targetFilename ); + } +} + +void +MingwBackend::GetInstallTargetFiles ( + string installDirectory, + vector& 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, @@ -679,19 +712,18 @@ MingwBackend::GenerateInstallTarget () { string installDirectoryNoFixup = "reactos"; string installDirectory = MingwModuleHandler::PassThruCacheDirectory ( - FixupTargetFilename ( installDirectoryNoFixup ), + NormalizeFilename ( installDirectoryNoFixup ), true ); - string installDirectories = GetInstallDirectories ( installDirectoryNoFixup ); - vector vInstallFiles; - GetInstallFiles ( vInstallFiles ); - string installFiles = v2s ( vInstallFiles, 5 ); + vector 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" ); } diff --git a/reactos/tools/rbuild/backend/mingw/mingw.h b/reactos/tools/rbuild/backend/mingw/mingw.h index 7843581e77d..48b0ab857fc 100644 --- a/reactos/tools/rbuild/backend/mingw/mingw.h +++ b/reactos/tools/rbuild/backend/mingw/mingw.h @@ -48,7 +48,11 @@ private: std::string GetInstallDirectories ( const std::string& installDirectory ); void GetNonModuleInstallFiles ( std::vector& out ) const; void GetInstallFiles ( std::vector& out ) const; - void OutputInstallfileCopyCommands ( const std::string& installDirectory ); + void GetNonModuleInstallTargetFiles ( std::string installDirectory, + std::vector& out ) const; + void GetInstallTargetFiles ( std::string installDirectory, + std::vector& out ) const; + void OutputInstallfileTargets ( const std::string& installDirectory ); void GenerateInstallTarget (); FILE* fMakefile; bool use_pch; -- 2.17.1