GNU Make 4.4 ビルド システムのリリース

ほぼ 4.4 年の開発期間を経て、GNU Make XNUMX ビルド システムがリリースされました。 新しいバージョンでは、バグの修正に加えて、次の変更点に注意してください。

  • OS/2 (EMX)、AmigaOS、Xenix、および Cray プラットフォームは廃止されており、将来のリリースでは廃止される予定です。
  • ビルド環境の要件が増加し、GNU Gnulib をビルドするには、C99 標準の要素をサポートするコンパイラーが必要になりました。
  • 特別な .WAIT ビルド ターゲットが追加され、他のターゲットのビルドが完了するまで特定のターゲットのビルドの起動を一時停止できるようになりました。
  • 特別なビルド ターゲット .NOTPARALLEL では、前提条件 (ターゲットのビルドに必要なファイル) を指定する機能が実装され、それらに関連付けられたターゲットを順番に起動します (各前提条件の間に「.WAIT」が設定されているかのように)。
  • 指定されたファイル、マスクに一致するファイル、またはメイクファイル全体に対する中間ターゲット (.INTERMEDIATE) の使用に関連する動作を無効にする、特別なビルド ターゲット .NOTINTERMEDIATE が追加されました。
  • $(let ...) 関数が実装されました。これにより、ユーザー定義関数でローカル変数を定義できるようになります。
  • 数値を比較するための $(intcmp ...) 関数を実装しました。
  • 「-l」 (--load-average) オプションを使用する場合、開始されるジョブの数には、システムの負荷に関するファイル /proc/loadavg のデータが考慮されるようになりました。
  • 前提条件をシャッフルするための「--shuffle」オプションを追加しました。これにより、並列ビルドで非決定的な動作を実現できます (たとえば、メイクファイルでの前提条件の定義の正確性をファズテストするため)。
  • mkfifo をサポートするシステムでは、名前付きパイプの使用に基づいてジョブの並列実行中にジョブサーバーと対話する新しい方法が提供されます。 名前のないパイプに基づく古いメソッドを返すために、オプション「--jobserver-style=pipe」が提案されています。
  • 作業中の一時ファイルの使用が拡張されました (ビルド システムが一時ファイル (TMPDIR) の代替ディレクトリを設定し、ビルド中に TMPDIR の内容を削除すると問題が発生する可能性があります)。

出所: オープンネット.ru

コメントを追加します