ENH: fix for makes that do not handle targets wihtout a rule to build them

This commit is contained in:
Ken Martin 2005-05-18 16:10:49 -04:00
parent 78b5cca6e3
commit 451c63df0d
1 changed files with 7 additions and 4 deletions

View File

@ -612,20 +612,23 @@ cmLocalUnixMakefileGenerator3
// corresponding targets.
std::string objectRequires = relativeObj;
objectRequires += ".requires";
std::string temp = relativeObj;
temp += ".depend";
std::vector<std::string> no_commands;
std::vector<std::string> p_depends;
p_depends.push_back(temp);
// always provide an empty requires target
this->WriteMakeRule(ruleFileStream, 0,
objectRequires.c_str(), no_commands, no_commands);
objectRequires.c_str(), p_depends, no_commands);
// write a build rule to recursively build what this obj provides
std::string objectProvides = relativeObj;
objectProvides += ".provides";
std::string temp = relativeObj;
temp = relativeObj;
temp += ".provides.build";
std::vector<std::string> r_commands;
r_commands.push_back(this->GetRecursiveMakeCall("build.make",temp.c_str()));
std::vector<std::string> p_depends;
p_depends.clear();
p_depends.push_back(objectRequires);
this->WriteMakeRule(ruleFileStream, 0,
objectProvides.c_str(), p_depends, r_commands);