GNU-MakeをPOSIX Makeの動作に制限

GNU-MakeをPOSIX Makeの動作に制限

makeLinuxで他のMakefileを編集または使用するときに、LinuxがMakefileで予期しないGNU-Make固有の拡張機能を拒否するようにする既知の方法はありますか?私の言葉は、GNU-Makeの動作を制限するということです。makePOSIXで指定GNU-Make特定の拡張を拒否しますか?

.POSIX「特別な目標では十分ではない」によると4.9特殊組み込みターゲット名(gnu.org)マニュアルページには、このコマンドラインオプションへの言及はありません。

他のmakeユーティリティを使用することもオプションです。

— アップロード日: 2018-10-19 —

まだ私の質問に対する直接的な答えは見つかりませんでしたが、この質問をしたときに存在しなかったトピックに関する1つ以上の文書があります。 ポータブルMakefileチュートリアル(nullprogram.com)

ベストアンサー1

私はGNU make拡張を無効にする方法がないと確信しています。このターゲットは互換性を向上させますが、関数、ポイントごとのターゲット、ターゲットのパターンなどの.POSIX互換性のある拡張機能を無効にしません。%

私はPOSIXの機能に準拠するmakeの実装を知りません。たとえば、MINIX、Solaris、OpenBSD には独自の拡張機能があります。少なくともこれら4つの実装を使用してプログラムをビルドしてみることができます(プログラムがこれらのすべてのプラットフォームで構築されていると仮定して)、実際にはかなり良い移植性を保証します。make無料でないOSにアクセスできる場合(VS無料版で十分です)、Visual Studioのユーティリティを使用してWindowsを追加し、一部のUnixシェルツールにポートを追加します。

おすすめ記事