如何运行 make 和 debuild 并行?

如何运行 make 和 debuild 并行?

我正在尝试制作一个我(合作)编写的软件的软件包。我正在使用

debuild -i -us -uc -b 

原则上,这很好。为了缩短编译时间,我想使用 debuild 来并行运行 make(例如,我通常通过运行 来执行此操作make -j4)。我在网上找到了一些建议如下的地方:

debuild -eDEB_BUILD_OPTIONS="parallel=4" -us -uc -b
debuild -j4 -us -uc -b

另一个网站建议在文件中添加一些代码debian/rules,基本上设置

MAKEFLAGS += -j4

但是,这些似乎都不起作用。我遗漏了什么吗?还是我应该在源的 autoconf/automake 设置中更改某些内容?

答案1

它必须在 debian/rules 中启用。如果软件包使用 dh,则 debian/rules 中有如下一行:

dh $@

将其更改为

dh $@ --parallel

然后你的命令将起作用,至少 DEB_BUILD_OPTIONS="parallel=4"

答案2

我建议使用DEB_BUILD_OPTIONS环境变量,如下所述第 4.9.1 节Debian 政策手册。

DEB_BUILD_OPTIONS='parallel=4' debuild -i -us -uc -b

答案3

使用 debhelper 10,您不再需要提供选项--paralleldebian/rules它现在默认运行并行构建。请参阅发行说明

因此,答案就是将 的内容设置debian/compat为,并将中的版本10更新debhelper为。>=10debian/control

答案4

综上所述,对我而言,以下方法有效:

export DEB_BUILD_OPTIONS='parallel=16'
fakeroot debian/rules binary

相关内容