web-dev-qa-db-ja.com

debuildで並列makeを実行する方法は?

私は(共同)作成したソフトウェアのパッケージを作成しようとしています。私は使っています

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設定を変更する必要がありますか?

16
ph0t0nix

Debian/rulesで有効にする必要があります。パッケージがdhを使用している場合、debian/rulesに次のような行があります。

dh $@

それを変更する

dh $@ --parallel

その後、少なくともDEB_BUILD_OPTIONS = "parallel = 4"のコマンドが機能します

16
gggf

Debhelper 10では、--paralleldebian/rulesオプションを指定する必要がなくなりました。デフォルトで並列ビルドを実行するようになりました。 リリースノート を参照してください

したがって、答えは、debian/compatの内容を10に設定し、>=10debhelperバージョンをdebian/controlに更新するだけです。

8
Alex Valavanis

Debianポリシーマニュアルの セクション4.9.1 で説明されているように、DEB_BUILD_OPTIONS環境変数を使用することをお勧めします。

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