GNU Makeでファイルが存在するかどうかを調べる機能

GNU makefileを使用すると、小規模ビジネスで、そのコンパイルを特定のクライアントのマシンに適合させることができるソースコードを公開し、問題や未解決のソフトウェア依存関係を優先的に検出できます。 特定のファイルが存在するかどうかを確認することは、GNU make関数の中心となるものです。そのためには、いくつかの方法の中から選択できます。

規則

ファイルがあなたのGNU makefileの中に存在するかどうかをチェックする一つの方法はその組み込みの規則体系を含みます。 「target:normal-prerequisites | order-only-prerequisites」という構文の下のコードは、「target」として指定されたファイルが、「normal-prerequisites」で指定したファイルよりも新しいものではない場合にのみ実行されます。 「注文のみの前提条件」で指定します。 構文「target:| order-only-prerequisites」を使用し、「|」の左側にファイルを指定しない場合 シンボルを指定すると、 "order-only-prerequisites"として指定したファイルが存在する場合にのみ、以下のコードが実行されます。

テスト機能

"test -f"コマンドは特定のファイルが存在するかどうかも確認できます。 このコマンドは引数としてファイル名を取り、コマンドを渡したファイルパスが存在する場合は "true"、存在しない場合は "false"のブール値を返します。 このコマンドを "if"文やmakefileに配置した他の制御関数に統合して、どちらの結果の処理もきめ細かく制御できます。

ディレクトリの確認

rulesメソッドまたは "test -d"コマンドは "test -f"コマンドとまったく同じように機能します。引数がファイルであるかどうかを確認するのではなく、引数として指定したパスが既存のディレクトリである場合にのみtrueを返します。 。 makefileがファイルをコンパイルまたは構築するディレクトリの存在を確認している場合、 "mkdir -p directory-name"コマンドは、 "directory-name"として指定した名前でディレクトリを作成しようとします。それはすでに存在します。 引数 "-p"は、mkdirがエラーメッセージを投げてエンドユーザーに何か問題が起きたと思わせるのを防ぎます。 その後、そのファイルがすでに存在しているか、またはmkdirによって作成されているため、そのファイルが存在することを確認して、メイクファイルコード内でそのディレクトリを使用できます。

堅牢なメークファイル

ソフトウェアが依存するパッケージは、クライアントシステムによって異なるディレクトリパスに格納されています。 ただし、単一の場所を想定している場合、クライアントにはすでに持っているソフトウェアパッケージが必要であることを伝えるメイクファイルを受け取ることがあります。 ターゲットクライアントベースで使用されているさまざまなシステムを調査することでこの問題を最小限に抑えることができ、makefileが依存するソフトウェアパッケージのために複数の可能な場所を確認するようにします。

人気の投稿