QUKE中的GNU make --jobs选项

时间:2009-08-07 21:47:22

标签: qt qt4 makefile mingw qmake

我正在使用qmake为我们正在开发的小型Qt C ++应用程序生成MinGW32 Makefile。我的问题:所有那些双核/四核CPU都闲置着,而只有一个线程正在进行构建。为了并行化我尝试传递的东西--jobs 4来制作,但问题是qmake生成一个通用的makefile,其中make会被-f再次调用。

是否有可能强制qmake在生成makefile时添加要生成的选项?或者也许还有另一种方法可以在qmake之外设置选项吗?我无法编辑该特定的Makefile,因为它是每次构建时自动生成的。

3 个答案:

答案 0 :(得分:18)

滥用$MAKE传递选项并不适用于所有情况。通常,(例如在Unix上的Qt的配置脚本中),它用双引号("$MAKE")括起来以允许命令包含空格。我知道,因为我在停止工作之前使用了相同的技巧。然后,Qt支持建议(正确地)使用{/ 1}},如

$MAKEFLAGS

答案 1 :(得分:3)

这对我有用:

设置MAKE_COMMAND = mingw32-make -j%NUMBER_OF_PROCESSORS%

答案 2 :(得分:2)

通用Makefile在调用make时使用$(MAKE),因此您可以使用环境变量覆盖它。这样的事情应该这样做:

  qmake
  make MAKE="mingw32-make -j4"

当然需要替换MAKE的值:)