|  | @@ -1072,16 +1072,27 @@ void cmLocalUnixMakefileGenerator::OutputLibraryRule(std::ostream& fout,
 | 
											
												
													
														|  |                          targetName, targetNameSO,
 |  |                          targetName, targetNameSO,
 | 
											
												
													
														|  |                          targetNameReal, targetNameBase);
 |  |                          targetNameReal, targetNameBase);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +  std::string outpath;
 | 
											
												
													
														|  | 
 |  | +  std::string outdir = this->ConvertToRelativeOutputPath(m_LibraryOutputPath.c_str());
 | 
											
												
													
														|  | 
 |  | +  if(!m_WindowsShell && outdir.size())
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +    outpath =  "\"`cd ";
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +  outpath += outdir;
 | 
											
												
													
														|  | 
 |  | +  if(!m_WindowsShell && outdir.size())
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +    outpath += ";pwd`\"/";
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  | 
 |  | +  if(outdir.size() == 0 && !m_WindowsShell)
 | 
											
												
													
														|  | 
 |  | +    {
 | 
											
												
													
														|  | 
 |  | +    outpath = "\"`pwd`\"/";
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  |    // The full path versions of the names.
 |  |    // The full path versions of the names.
 | 
											
												
													
														|  | -  std::string targetFullPath = m_LibraryOutputPath + targetName;
 |  | 
 | 
											
												
													
														|  | -  std::string targetFullPathSO = m_LibraryOutputPath + targetNameSO;
 |  | 
 | 
											
												
													
														|  | -  std::string targetFullPathReal = m_LibraryOutputPath + targetNameReal;
 |  | 
 | 
											
												
													
														|  | -  std::string targetFullPathBase = m_LibraryOutputPath + targetNameBase;
 |  | 
 | 
											
												
													
														|  | -  targetFullPath = this->ConvertToRelativeOutputPath(targetFullPath.c_str());
 |  | 
 | 
											
												
													
														|  | -  targetFullPathSO = this->ConvertToRelativeOutputPath(targetFullPathSO.c_str());
 |  | 
 | 
											
												
													
														|  | -  targetFullPathReal = this->ConvertToRelativeOutputPath(targetFullPathReal.c_str());
 |  | 
 | 
											
												
													
														|  | -  targetFullPathBase = this->ConvertToRelativeOutputPath(targetFullPathBase.c_str());
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | 
 |  | +  std::string targetFullPath = outpath + targetName;
 | 
											
												
													
														|  | 
 |  | +  std::string targetFullPathSO = outpath + targetNameSO;
 | 
											
												
													
														|  | 
 |  | +  std::string targetFullPathReal = outpath + targetNameReal;
 | 
											
												
													
														|  | 
 |  | +  std::string targetFullPathBase = outpath + targetNameBase;
 | 
											
												
													
														|  | 
 |  | +  
 | 
											
												
													
														|  |    // get the objects that are used to link this library
 |  |    // get the objects that are used to link this library
 | 
											
												
													
														|  |    std::string objs = "$(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
 |  |    std::string objs = "$(" + this->CreateMakeVariable(name, "_SRC_OBJS") + ") ";
 | 
											
												
													
														|  |    std::string objsQuoted = "$(" + this->CreateMakeVariable(name, "_SRC_OBJS_QUOTED") + ") ";
 |  |    std::string objsQuoted = "$(" + this->CreateMakeVariable(name, "_SRC_OBJS_QUOTED") + ") ";
 | 
											
										
											
												
													
														|  | @@ -1165,6 +1176,9 @@ void cmLocalUnixMakefileGenerator::OutputLibraryRule(std::ostream& fout,
 | 
											
												
													
														|  |                                targetNameSO.c_str(),
 |  |                                targetNameSO.c_str(),
 | 
											
												
													
														|  |                                linkFlags);
 |  |                                linkFlags);
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
												
													
														|  | 
 |  | +  
 | 
											
												
													
														|  | 
 |  | +  targetFullPath = m_LibraryOutputPath + targetName;
 | 
											
												
													
														|  | 
 |  | +  targetFullPath = this->ConvertToRelativeOutputPath(targetFullPath.c_str());
 | 
											
												
													
														|  |    this->OutputMakeRule(fout, comment,
 |  |    this->OutputMakeRule(fout, comment,
 | 
											
												
													
														|  |                         targetFullPath.c_str(),
 |  |                         targetFullPath.c_str(),
 | 
											
												
													
														|  |                         depend.c_str(),
 |  |                         depend.c_str(),
 |