summaryrefslogtreecommitdiffstats
path: root/qmake/generators/makefile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qmake/generators/makefile.cpp')
-rw-r--r--qmake/generators/makefile.cpp34
1 files changed, 19 insertions, 15 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index 765aea4d83..8b36b64d1d 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -1876,12 +1876,14 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
if (config.indexOf("combine") != -1) {
// compilers with a combined input only have one output
QString input = project->first(ProKey(*it + ".output")).toQString();
- t << ' ' << escapeDependencyPath(Option::fixPathToTargetOS(
- replaceExtraCompilerVariables(tmp_out, input, QString(), NoShell)));
+ t << ' ' << escapeDependencyPath(fileFixify(
+ replaceExtraCompilerVariables(tmp_out, input, QString(), NoShell),
+ FileFixifyFromOutdir));
} else {
for (ProStringList::ConstIterator input = tmp_inputs.begin(); input != tmp_inputs.end(); ++input) {
- t << ' ' << escapeDependencyPath(Option::fixPathToTargetOS(
- replaceExtraCompilerVariables(tmp_out, (*input).toQString(), QString(), NoShell)));
+ t << ' ' << escapeDependencyPath(fileFixify(
+ replaceExtraCompilerVariables(tmp_out, (*input).toQString(), QString(), NoShell),
+ FileFixifyFromOutdir));
}
}
t << endl;
@@ -1917,8 +1919,9 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
QString tinp = (*input).toQString();
QString out = replaceExtraCompilerVariables(tmp_out, tinp, QString(), NoShell);
for (const QString &rc : qAsConst(raw_clean)) {
- dels << ' ' + escapeFilePath(Option::fixPathToTargetOS(
- replaceExtraCompilerVariables(rc, tinp, out, NoShell), false));
+ dels << ' ' + escapeFilePath(fileFixify(
+ replaceExtraCompilerVariables(rc, tinp, out, NoShell),
+ FileFixifyFromOutdir));
}
}
if(project->isActiveConfig("no_delete_multiple_files")) {
@@ -2034,7 +2037,7 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
QString out = replaceExtraCompilerVariables(tmp_out, QString(), QString(), NoShell);
QString cmd = replaceExtraCompilerVariables(tmp_cmd, inputs, QStringList() << out, TargetShell);
- t << escapeDependencyPath(Option::fixPathToTargetOS(out)) << ":";
+ t << escapeDependencyPath(fileFixify(out, FileFixifyFromOutdir)) << ":";
// compiler.CONFIG+=explicit_dependencies means that ONLY compiler.depends gets to cause Makefile dependencies
if (config.indexOf("explicit_dependencies") != -1) {
t << " " << valList(escapeDependencyPaths(fileFixify(tmp_dep, FileFixifyFromOutdir)));
@@ -2046,14 +2049,16 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
}
for (ProStringList::ConstIterator input = tmp_inputs.begin(); input != tmp_inputs.end(); ++input) {
QString inpf = (*input).toQString();
- QString in = Option::fixPathToTargetOS(inpf, false);
- QStringList deps = findDependencies(inpf);
- deps << in;
- QString out = Option::fixPathToTargetOS(replaceExtraCompilerVariables(tmp_out, inpf, QString(), NoShell));
+ QStringList deps;
+ deps << fileFixify(inpf, FileFixifyFromOutdir);
+ deps += findDependencies(inpf);
+ QString out = fileFixify(replaceExtraCompilerVariables(tmp_out, inpf, QString(), NoShell),
+ FileFixifyFromOutdir);
if(!tmp_dep.isEmpty()) {
QStringList pre_deps = fileFixify(tmp_dep, FileFixifyFromOutdir);
for(int i = 0; i < pre_deps.size(); ++i)
- deps << replaceExtraCompilerVariables(pre_deps.at(i), inpf, out, NoShell);
+ deps << fileFixify(replaceExtraCompilerVariables(pre_deps.at(i), inpf, out, NoShell),
+ FileFixifyFromOutdir);
}
QString cmd = replaceExtraCompilerVariables(tmp_cmd, inpf, out, TargetShell);
// NOTE: The var -> QMAKE_COMP_var replace feature is unsupported, do not use!
@@ -2113,7 +2118,7 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
//use the depend system to find includes of these included files
QStringList inc_deps;
for(int i = 0; i < deps.size(); ++i) {
- const QString dep = deps.at(i);
+ const QString dep = fileFixify(deps.at(i), FileFixifyFromOutdir | FileFixifyAbsolute);
if(QFile::exists(dep)) {
SourceFileType type = TYPE_UNKNOWN;
if(type == TYPE_UNKNOWN) {
@@ -2150,11 +2155,10 @@ MakefileGenerator::writeExtraCompilerTargets(QTextStream &t)
}
}
}
- deps += inc_deps;
+ deps += fileFixify(inc_deps, FileFixifyFromOutdir);
}
for(int i = 0; i < deps.size(); ) {
QString &dep = deps[i];
- dep = Option::fixPathToTargetOS(dep, false);
if(out == dep)
deps.removeAt(i);
else