diff options
Diffstat (limited to 'Source/cmMakefileLibraryTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileLibraryTargetGenerator.cxx | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx index fa65215..dc7d37d 100644 --- a/Source/cmMakefileLibraryTargetGenerator.cxx +++ b/Source/cmMakefileLibraryTargetGenerator.cxx @@ -537,7 +537,21 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules objdir += this->Target->GetName(); objdir += ".dir"; vars.ObjectDir = objdir.c_str(); - vars.Target = targetOutPathReal.c_str(); + std::string targetLinkScriptPathReal; + if(useLinkScript) + { + // Paths in the link script are interpreted directly by the shell + // and not make. + targetLinkScriptPathReal = + this->Convert(targetFullPathReal.c_str(), + cmLocalGenerator::START_OUTPUT, + cmLocalGenerator::SHELL); + vars.Target = targetLinkScriptPathReal.c_str(); + } + else + { + vars.Target = targetOutPathReal.c_str(); + } std::string linkString = linklibs.str(); vars.LinkLibraries = linkString.c_str(); vars.ObjectsQuoted = buildObjs.c_str(); |