BUG: Fixes for Borland Make.

This commit is contained in:
Brad King 2004-10-29 14:57:36 -04:00
parent 17b1cc26e0
commit ff7ab5f1ab
1 changed files with 14 additions and 9 deletions

View File

@ -368,7 +368,7 @@ cmLocalUnixMakefileGenerator2
std::string depEcho = "Scanning "; std::string depEcho = "Scanning ";
depEcho += lang; depEcho += lang;
depEcho += " dependencies of "; depEcho += " dependencies of ";
depEcho += obj; depEcho += this->ConvertToRelativeOutputPath(obj.c_str());
depEcho += "..."; depEcho += "...";
// Add a command to call CMake to scan dependencies. CMake will // Add a command to call CMake to scan dependencies. CMake will
@ -462,7 +462,7 @@ cmLocalUnixMakefileGenerator2
std::string buildEcho = "Building "; std::string buildEcho = "Building ";
buildEcho += lang; buildEcho += lang;
buildEcho += " object "; buildEcho += " object ";
buildEcho += obj; buildEcho += this->ConvertToRelativeOutputPath(obj.c_str());
buildEcho += "..."; buildEcho += "...";
this->WriteMakeRule(ruleFileStream, 0, buildEcho.c_str(), this->WriteMakeRule(ruleFileStream, 0, buildEcho.c_str(),
obj.c_str(), depends, commands); obj.c_str(), depends, commands);
@ -532,6 +532,7 @@ cmLocalUnixMakefileGenerator2
{ {
replace = *dep; replace = *dep;
m_Makefile->ExpandVariablesInString(replace); m_Makefile->ExpandVariablesInString(replace);
replace = this->ConvertToRelativeOutputPath(replace.c_str());
replace = this->ConvertToMakeTarget(replace.c_str()); replace = this->ConvertToMakeTarget(replace.c_str());
os << tgt.c_str() << space << ": " << replace.c_str() << "\n"; os << tgt.c_str() << space << ": " << replace.c_str() << "\n";
} }
@ -1035,10 +1036,10 @@ cmLocalUnixMakefileGenerator2
i != objects.end(); ++i) i != objects.end(); ++i)
{ {
objs += space; objs += space;
objs += *i; objs += this->ConvertToRelativeOutputPath(i->c_str());
objsQuoted += space; objsQuoted += space;
objsQuoted += "\""; objsQuoted += "\"";
objsQuoted += *i; objsQuoted += this->ConvertToRelativeOutputPath(i->c_str());
objsQuoted += "\""; objsQuoted += "\"";
space = " "; space = " ";
} }
@ -1065,7 +1066,7 @@ cmLocalUnixMakefileGenerator2
std::string buildEcho = "Linking "; std::string buildEcho = "Linking ";
buildEcho += linkLanguage; buildEcho += linkLanguage;
buildEcho += " executable "; buildEcho += " executable ";
buildEcho += targetFullPath; buildEcho += this->ConvertToRelativeOutputPath(targetFullPath.c_str());
buildEcho += "..."; buildEcho += "...";
this->WriteMakeRule(ruleFileStream, 0, buildEcho.c_str(), this->WriteMakeRule(ruleFileStream, 0, buildEcho.c_str(),
targetFullPath.c_str(), depends, commands); targetFullPath.c_str(), depends, commands);
@ -1147,7 +1148,7 @@ cmLocalUnixMakefileGenerator2
std::string extraFlags; std::string extraFlags;
this->AppendFlags(extraFlags, target.GetProperty("LINK_FLAGS")); this->AppendFlags(extraFlags, target.GetProperty("LINK_FLAGS"));
this->AddConfigVariableFlags(extraFlags, "CMAKE_MODULE_LINKER_FLAGS"); this->AddConfigVariableFlags(extraFlags, "CMAKE_MODULE_LINKER_FLAGS");
// TODO: Should .def files be supported here also? // TODO: .def files should be supported here also.
this->WriteLibraryRule(ruleFileStream, ruleFileName, target, objects, this->WriteLibraryRule(ruleFileStream, ruleFileName, target, objects,
linkRuleVar.c_str(), extraFlags.c_str()); linkRuleVar.c_str(), extraFlags.c_str());
} }
@ -1162,6 +1163,8 @@ cmLocalUnixMakefileGenerator2
const char* linkRuleVar, const char* linkRuleVar,
const char* extraFlags) const char* extraFlags)
{ {
// TODO: Merge the methods that call this method to avoid
// code duplication.
std::vector<std::string> commands; std::vector<std::string> commands;
// Build list of dependencies. TODO: depend on other targets. // Build list of dependencies. TODO: depend on other targets.
@ -1273,10 +1276,10 @@ cmLocalUnixMakefileGenerator2
i != objects.end(); ++i) i != objects.end(); ++i)
{ {
objs += space; objs += space;
objs += *i; objs += this->ConvertToRelativeOutputPath(i->c_str());
objsQuoted += space; objsQuoted += space;
objsQuoted += "\""; objsQuoted += "\"";
objsQuoted += *i; objsQuoted += this->ConvertToRelativeOutputPath(i->c_str());
objsQuoted += "\""; objsQuoted += "\"";
space = " "; space = " ";
} }
@ -1310,7 +1313,7 @@ cmLocalUnixMakefileGenerator2
default: default:
buildEcho += " library "; break; buildEcho += " library "; break;
} }
buildEcho += targetFullPath.c_str(); buildEcho += this->ConvertToRelativeOutputPath(targetFullPath.c_str());
buildEcho += "..."; buildEcho += "...";
this->WriteMakeRule(ruleFileStream, 0, buildEcho.c_str(), this->WriteMakeRule(ruleFileStream, 0, buildEcho.c_str(),
targetFullPath.c_str(), depends, commands); targetFullPath.c_str(), depends, commands);
@ -1613,8 +1616,10 @@ cmLocalUnixMakefileGenerator2
dep += ".dir/"; dep += ".dir/";
dep += jump->first; dep += jump->first;
dep += ".depends"; dep += ".depends";
dep = this->ConvertToRelativeOutputPath(dep.c_str());
std::string tgt = jump->first; std::string tgt = jump->first;
tgt += ".requires"; tgt += ".requires";
tgt = this->ConvertToRelativeOutputPath(tgt.c_str());
// Build the jump-and-build command list. // Build the jump-and-build command list.
commands.clear(); commands.clear();