|
|
@@ -3056,31 +3056,18 @@ cmLocalUnixMakefileGenerator2
|
|
|
makefileStream
|
|
|
<< "# Targets to make sure needed libraries exist.\n"
|
|
|
<< "# These will jump to other directories to build targets.\n"
|
|
|
- << "# Note that extra dependencies are added to enforce an ordering\n"
|
|
|
- << "# that prevents parallel jumps.\n"
|
|
|
<< "\n";
|
|
|
}
|
|
|
|
|
|
- // Keep track of the last jump target written.
|
|
|
- std::string lastJump;
|
|
|
-
|
|
|
- // Add each jump rule.
|
|
|
+ std::vector<std::string> depends;
|
|
|
+ std::vector<std::string> commands;
|
|
|
for(std::map<cmStdString, RemoteTarget>::iterator
|
|
|
jump = m_JumpAndBuild.begin(); jump != m_JumpAndBuild.end(); ++jump)
|
|
|
{
|
|
|
const cmLocalUnixMakefileGenerator2::RemoteTarget& rt = jump->second;
|
|
|
const char* destination = rt.m_BuildDirectory.c_str();
|
|
|
|
|
|
- // Depend on the previously written jump rule to make sure only
|
|
|
- // one jump happens at a time. This avoids problems with multiple
|
|
|
- // jump paths leading to the same target at the same time.
|
|
|
- std::vector<std::string> depends;
|
|
|
- if(!lastJump.empty())
|
|
|
- {
|
|
|
- depends.push_back(lastJump);
|
|
|
- }
|
|
|
-
|
|
|
- // Construct the dependency and build target names for the destination.
|
|
|
+ // Construct the dependency and build target names.
|
|
|
std::string dep = jump->first;
|
|
|
dep += ".dir/";
|
|
|
dep += jump->first;
|
|
|
@@ -3091,7 +3078,7 @@ cmLocalUnixMakefileGenerator2
|
|
|
tgt = this->ConvertToRelativeOutputPath(tgt.c_str());
|
|
|
|
|
|
// Add the pre-jump message.
|
|
|
- std::vector<std::string> commands;
|
|
|
+ commands.clear();
|
|
|
std::string jumpPreEcho = "Jumping to ";
|
|
|
jumpPreEcho += rt.m_BuildDirectory.c_str();
|
|
|
jumpPreEcho += " to build ";
|
|
|
@@ -3153,9 +3140,6 @@ cmLocalUnixMakefileGenerator2
|
|
|
// Write the rule.
|
|
|
this->WriteMakeRule(makefileStream, 0,
|
|
|
rt.m_FilePath.c_str(), depends, commands);
|
|
|
-
|
|
|
- // This is now the last jump target written.
|
|
|
- lastJump = rt.m_FilePath;
|
|
|
}
|
|
|
}
|
|
|
|