diff options
author | Brad King <brad.king@kitware.com> | 2005-01-28 19:17:48 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2005-01-28 19:17:48 (GMT) |
commit | 892a7c4fd929880d205a1e2cad05527494fc531f (patch) | |
tree | f0a0542dbe50717d234f7300e5ed7e6d9b784141 /Source/cmLocalUnixMakefileGenerator2.h | |
parent | 62aba58b82e200fb25dd67f48d12ecf1297e1228 (diff) | |
download | CMake-892a7c4fd929880d205a1e2cad05527494fc531f.zip CMake-892a7c4fd929880d205a1e2cad05527494fc531f.tar.gz CMake-892a7c4fd929880d205a1e2cad05527494fc531f.tar.bz2 |
ENH: Implemented full per-object test for whether provides-requires mode is needed. This will still use a recursive make for any Fortran object even if it doesn't have requires. It is possible to avoid it but we can do that later.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator2.h')
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator2.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator2.h b/Source/cmLocalUnixMakefileGenerator2.h index e852ecb..41d5658 100644 --- a/Source/cmLocalUnixMakefileGenerator2.h +++ b/Source/cmLocalUnixMakefileGenerator2.h @@ -67,7 +67,8 @@ protected: void GenerateTargetRuleFile(const cmTarget& target); void GenerateObjectRuleFile(const cmTarget& target, const cmSourceFile& source, - std::vector<std::string>& objects); + std::vector<std::string>& objects, + std::vector<std::string>& provides_requires); void GenerateCustomRuleFile(const cmCustomCommand& cc); void GenerateUtilityRuleFile(const cmTarget& target); bool GenerateDependsMakeFile(const std::string& lang, @@ -107,25 +108,30 @@ protected: void WriteExecutableRule(std::ostream& ruleFileStream, const char* ruleFileName, const cmTarget& target, - std::vector<std::string>& objects); + std::vector<std::string>& objects, + const std::vector<std::string>& provides_requires); void WriteStaticLibraryRule(std::ostream& ruleFileStream, const char* ruleFileName, const cmTarget& target, - std::vector<std::string>& objects); + std::vector<std::string>& objects, + const std::vector<std::string>& provides_requires); void WriteSharedLibraryRule(std::ostream& ruleFileStream, const char* ruleFileName, const cmTarget& target, - std::vector<std::string>& objects); + std::vector<std::string>& objects, + const std::vector<std::string>& provides_requires); void WriteModuleLibraryRule(std::ostream& ruleFileStream, const char* ruleFileName, const cmTarget& target, - std::vector<std::string>& objects); + std::vector<std::string>& objects, + const std::vector<std::string>& provides_requires); void WriteLibraryRule(std::ostream& ruleFileStream, const char* ruleFileName, const cmTarget& target, std::vector<std::string>& objects, const char* linkRuleVar, - const char* extraLinkFlags); + const char* extraLinkFlags, + const std::vector<std::string>& provides_requires); void WriteObjectsVariable(std::ostream& ruleFileStream, const cmTarget& target, const std::vector<std::string>& objects, @@ -137,6 +143,9 @@ protected: void WriteTargetCleanRule(std::ostream& ruleFileStream, const cmTarget& target, const std::vector<std::string>& files); + void WriteTargetRequiresRule(std::ostream& ruleFileStream, + const cmTarget& target, + const std::vector<std::string>& provides_requires); std::string GetTargetDirectory(const cmTarget& target); std::string GetSubdirTargetName(const char* pass, const char* subdir); std::string GetObjectFileName(const cmTarget& target, |