diff --git a/Source/cmLocalUnixMakefileGenerator2.cxx b/Source/cmLocalUnixMakefileGenerator2.cxx index aa3ceb0ec..58dbee866 100644 --- a/Source/cmLocalUnixMakefileGenerator2.cxx +++ b/Source/cmLocalUnixMakefileGenerator2.cxx @@ -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 depends; + std::vector commands; for(std::map::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 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 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; } }