この記事では、Linux の自動プロジェクト構築ツールについて説明します。実際には、特定の機能を操作するためにファイルのコードだけに頼ることはできないことがよくあります。複数の異なるセクションの組み合わせが必要です。この時点では、最終的な機能を実現するには、プロジェクトとパッケージを構築し、すべてのモジュールを結合する必要があります。みんなが助けてくれることを願っています。
Makefile は、プロジェクトのビルド ルール プロセスを記録するテキスト ファイルです。仕事でメイクファイルを書けるかどうかは、ある面では大規模プロジェクトを遂行できる能力があるかどうかを示しますが、同時にプロジェクト内のソースファイルはカウントされず、種類ごとにいくつかのディレクトリに置かれます。 Makefile 一連のルールは、どのファイルを最初にコンパイルする必要があるか、どのファイルを後でコンパイルする必要があるか、どのファイルを再コンパイルする必要があるかを指定するために定義されており、さらに複雑な関数操作を実行できます。それがもたらすのは「自動コンパイル」一度作成すると、必要な make コマンドは 1 つだけで、プロジェクト全体が完全に自動的にコンパイルおよび翻訳されるため、ソフトウェア開発の効率が大幅に向上します。
コンパイル方法になっていることがわかります。 Make はコマンド、makefile はファイルであり、これらを組み合わせて使用すると、プロジェクトの自動構築が完了します。
依存関係
依存関係メソッド
gcc オプション B -o A A は B の処理後に生成されたファイルですプロジェクトのクリーンアップ
プロジェクトは次のとおりですclean と同様に、cleaning は最初のターゲット ファイルに直接的または間接的に関連付けられていないため、その後に定義されたコマンドは自動的に実行されませんが、make が実行されることを示すことができます。つまり、「make clean」コマンドは、再コンパイルのためにすべてのターゲット ファイルをクリアするために使用されます。ただし、クリーンなターゲット ファイルの場合は、通常、それを擬似ターゲットとして設定し、.PHONY で変更します。擬似ターゲットの特徴は、常に によって実行されることです。
Principle
make は、現在のディレクトリで「Makefile」または「makefile」という名前のファイルを検索します。 見つかった場合は、ファイルのコンテンツ内の最初のファイルを検索し、このファイルを最終ターゲット ファイルとして使用します。 ファイルが現在存在しない場合、またはファイルの依存ファイルの変更時刻が現在のファイルより新しい場合は、後で定義されたコマンドを実行して現在のファイルを生成します。 ファイルの依存ファイルが存在しない場合は、最終ソース ファイルが見つかるまで、この依存ファイルに対して手順 2 と 3 に進みます。 もちろん、C ファイルと H ファイルはが存在するため、make は .o ファイルを生成し、その .o ファイルを使用して、ファイルを実行するという make の最終タスクを宣言します。 これは make 全体の依存関係です。Make は、最初のターゲット ファイルが最終的にコンパイルされるまで、ファイルの依存関係をレイヤーごとに検索します。 検索プロセス中に、最後の依存ファイルが見つからないなどのエラーが発生した場合、make は直接終了してエラーを報告します。定義されたコマンドにエラーがある場合、コンパイルは成功しません。 、make はそれをまったく無視します。 make はファイルの依存関係のみを考慮します。つまり、依存関係を見つけた後、コロンの後のファイルがまだ存在しない場合は、申し訳ありませんが、動作しません。 make は、毎回生成のために Makefile 内の最初のターゲット オブジェクトのみを検索し、生成後に終了します (2 番目のオブジェクトは生成されません) .PHONY: cleanclear: œrm -rf $(obj)[補足]
5. プログラムのコンパイルプロセス: 一般的には、前処理、コンパイル、アセンブリ、リンクが含まれますが、実際のプロジェクト構築では、コンパイルとリンクの 2 つのステップに分かれます。この利点は、1 つの .c ファイルのみを変更する場合、すべての .c ファイルを直接コンパイルして実行可能プログラムを生成する以前のプロセスと比較して、実行可能プログラムを生成するためにすべての .c ファイルを再コンパイルする必要があり、非常に非効率であることです。 , そのため、操作は 2 つのステップに分かれています。まず、各 .c が独自の .o を生成し、次にすべての .o をリンクします。.c が変更されたら、この .c のみを生成する必要があります。oその後は、.c を置き換えるだけです。プログラム内の指定されたモジュール。
例 1. 一般的な Makefile を作成します
例 2. 定義済みの Makefile を使用する
関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinux プロジェクト自動構築ツール Makefile make をマスターしましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。