summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator2.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2004-11-02 22:14:04 (GMT)
committerBrad King <brad.king@kitware.com>2004-11-02 22:14:04 (GMT)
commit04f958b6d9b024ba7cefd5b914fb946685a71d8d (patch)
treec63dd7b965f73a56778cb22b6dc77e7cb495edcf /Source/cmLocalUnixMakefileGenerator2.h
parent95f67dca9e93ad789088dec47526acf7331d2969 (diff)
downloadCMake-04f958b6d9b024ba7cefd5b914fb946685a71d8d.zip
CMake-04f958b6d9b024ba7cefd5b914fb946685a71d8d.tar.gz
CMake-04f958b6d9b024ba7cefd5b914fb946685a71d8d.tar.bz2
ENH: Implemented generation of custom command rule files.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator2.h')
-rw-r--r--Source/cmLocalUnixMakefileGenerator2.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator2.h b/Source/cmLocalUnixMakefileGenerator2.h
index ae0c156..3ad7b25 100644
--- a/Source/cmLocalUnixMakefileGenerator2.h
+++ b/Source/cmLocalUnixMakefileGenerator2.h
@@ -19,6 +19,7 @@
#include "cmLocalUnixMakefileGenerator.h"
+class cmCustomCommand;
class cmDependInformation;
class cmMakeDepend;
class cmTarget;
@@ -65,6 +66,7 @@ protected:
void GenerateTargetRuleFile(const cmTarget& target);
void GenerateObjectRuleFile(const cmTarget& target,
const cmSourceFile& source);
+ void GenerateCustomRuleFile(const cmSourceFile& source);
std::string GenerateDependsMakeFile(const char* file);
void WriteMakeRule(std::ostream& os,
const char* comment,
@@ -78,7 +80,7 @@ protected:
void WriteMakeVariables(std::ostream& makefileStream);
void WriteSpecialTargetsTop(std::ostream& makefileStream);
void WriteSpecialTargetsBottom(std::ostream& makefileStream);
- void WriteTargetIncludes(std::ostream& makefileStream);
+ void WriteRuleFileIncludes(std::ostream& makefileStream);
void WriteAllRule(std::ostream& makefileStream);
void WriteSubdirRules(std::ostream& makefileStream, const char* pass);
void WriteSubdirRule(std::ostream& makefileStream, const char* pass,
@@ -114,6 +116,7 @@ protected:
std::string GetSubdirTargetName(const char* pass, const char* subdir);
std::string GetObjectFileName(const cmTarget& target,
const cmSourceFile& source);
+ std::string GetCustomBaseName(const cmCustomCommand& cc);
const char* GetSourceFileLanguage(const cmSourceFile& source);
std::string ConvertToFullPath(const std::string& localPath);
@@ -146,6 +149,12 @@ private:
// Command used when a rule has no dependencies or commands.
std::vector<std::string> m_EmptyCommands;
+
+ // List of make rule files that need to be included by the makefile.
+ std::vector<std::string> m_IncludeRuleFiles;
+
+ // Set of custom rule files that have been generated.
+ std::set<cmStdString> m_CustomRuleFiles;
};
#endif