summaryrefslogtreecommitdiffstats
path: root/qmake/generators
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2020-11-17 08:34:20 +0200
committerOrgad Shaneh <orgad.shaneh@audiocodes.com>2022-03-31 17:02:01 +0300
commit48ef124047eed9d6278b5766516c471bdc0f13f3 (patch)
tree164eacb1b7d2a750e6e4bd80a5be76dfcf145f7a /qmake/generators
parent4114a0ea758d7f808011f9db0524c541880c16ed (diff)
qmake: Suppress built-in suffixes for make
They cause make to run much slower, and qmake writes everything explicitly, so they're not really needed. Change-Id: Ia47674eec8309e120c8264b7b6687677a520d5b9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'qmake/generators')
-rw-r--r--qmake/generators/makefile.cpp9
-rw-r--r--qmake/generators/makefile.h1
-rw-r--r--qmake/generators/win32/msvc_nmake.cpp4
-rw-r--r--qmake/generators/win32/msvc_nmake.h1
4 files changed, 15 insertions, 0 deletions
diff --git a/qmake/generators/makefile.cpp b/qmake/generators/makefile.cpp
index c9c45990f4..e16082e62c 100644
--- a/qmake/generators/makefile.cpp
+++ b/qmake/generators/makefile.cpp
@@ -2243,6 +2243,7 @@ MakefileGenerator::writeDummyMakefile(QTextStream &t)
<< "@echo \"Skipped.\"\n\n";
writeMakeQmake(t);
t << "FORCE:\n\n";
+ suppressBuiltinRules(t);
return true;
}
@@ -2257,6 +2258,7 @@ MakefileGenerator::writeMakefile(QTextStream &t)
writeInstalls(t);
t << "FORCE:\n\n";
+ suppressBuiltinRules(t);
return true;
}
@@ -2778,6 +2780,13 @@ MakefileGenerator::writeSubTargets(QTextStream &t, QList<MakefileGenerator::SubT
writeInstalls(t, true);
}
t << "FORCE:\n\n";
+ suppressBuiltinRules(t);
+}
+
+void
+MakefileGenerator::suppressBuiltinRules(QTextStream &t) const
+{
+ t << ".SUFFIXES:\n\n";
}
void
diff --git a/qmake/generators/makefile.h b/qmake/generators/makefile.h
index 2927e2de56..1e3b6fc470 100644
--- a/qmake/generators/makefile.h
+++ b/qmake/generators/makefile.h
@@ -121,6 +121,7 @@ protected:
void writeSubTargetCall(QTextStream &t,
const QString &in_directory, const QString &in, const QString &out_directory, const QString &out,
const QString &out_directory_cdin, const QString &makefilein);
+ virtual void suppressBuiltinRules(QTextStream &t) const;
virtual void writeSubMakeCall(QTextStream &t, const QString &outDirectory_cdin,
const QString &makeFileIn);
virtual void writeSubTargets(QTextStream &t, QList<SubTarget*> subtargets, int flags);
diff --git a/qmake/generators/win32/msvc_nmake.cpp b/qmake/generators/win32/msvc_nmake.cpp
index 50666215c6..efba1f1e83 100644
--- a/qmake/generators/win32/msvc_nmake.cpp
+++ b/qmake/generators/win32/msvc_nmake.cpp
@@ -174,6 +174,10 @@ QString NmakeMakefileGenerator::var(const ProKey &value) const
return MakefileGenerator::var(value);
}
+void NmakeMakefileGenerator::suppressBuiltinRules(QTextStream &t) const
+{
+}
+
void NmakeMakefileGenerator::init()
{
/* this should probably not be here, but I'm using it to wrap the .t files */
diff --git a/qmake/generators/win32/msvc_nmake.h b/qmake/generators/win32/msvc_nmake.h
index 3064f06521..23172c9230 100644
--- a/qmake/generators/win32/msvc_nmake.h
+++ b/qmake/generators/win32/msvc_nmake.h
@@ -52,6 +52,7 @@ protected:
QString defaultInstall(const QString &t) override;
QStringList &findDependencies(const QString &file) override;
QString var(const ProKey &value) const override;
+ void suppressBuiltinRules(QTextStream &t) const override;
QString precompH, precompObj, precompPch;
QString precompObjC, precompPchC;
bool usePCH = false;