summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator2.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2005-01-28 19:17:48 (GMT)
committerBrad King <brad.king@kitware.com>2005-01-28 19:17:48 (GMT)
commit892a7c4fd929880d205a1e2cad05527494fc531f (patch)
treef0a0542dbe50717d234f7300e5ed7e6d9b784141 /Source/cmLocalUnixMakefileGenerator2.h
parent62aba58b82e200fb25dd67f48d12ecf1297e1228 (diff)
downloadCMake-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.h21
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,