ガンメイクマニュアルスタディ-2

はじめに

シェル内のmakeコマンドの依存関係はMakefileであるため、makeを実行する前に、makefileを作成してmakeコマンドに何を実行するかを指示する必要があります。一般的に、makeツールは主にプロジェクトのコンパイルとプログラムのリンクに使用されます。
makeは、対応するファイル(ルールターゲットと依存関係)の最終変更時刻を比較することにより、更新する必要があるファイルを決定します。これらのファイルは更新する必要がなく、データベースに記録されている対応するコマンドを実行します(make read Makefile将来的には、コンパイルプロセスの記述データベースが確立されます。このデータベースは、すべてのファイル間の相互関係とそれらの関係記述を記録して再構築し、再構築する必要のないmakeファイルには何もしません。
このセクションでは、単純なMakefileを分析し、8つのCコードと3つのヘッダーファイルを含むプロジェクトをコンパイルしてリンクします。このMakefileは、作成に必要な情報を提供します。makeプログラムは、Makefileのルールに従って関連コマンドを実行し、指定されたタスク(コンパイルプロセスファイルのコンパイル、リンク、クリアなど)を完了します。
makツールを使用してコンパイルする場合、makeを実行すると、プロジェクト内の次のファイルがコンパイル(再コンパイル)
されます。1)すべてのソースファイルがコンパイルされていないため、各Cソースファイルをコンパイルしてリンクします。最終的な実行可能プログラムを生成します
。2)最後のmakeの実行後に変更された各Cソースコードファイルは、このmakeの実行時に再コンパイルされます
。3)ヘッダーファイルは、最後のmakeの実行後に変更されます。このヘッダーファイルを含むすべてのCソースファイルは、このmakeが実行されるときに再コンパイルされます。

後者の2つのケースでは、makeは変更されたCソースファイルのみを再コンパイルして.oファイルを生成します。変更されていないファイルには何も実行されません。再コンパイルプロセス中に、ソースファイルを変更すると、対応する新しい.oファイルが作成されます。ファイル、新しい.oファイルは、今回再コンパイルされていない以前の既存の.oファイルに再リンクされ、最終的な実行可能プログラムが生成されます。

53件の元の記事を公開 賞賛された16件 訪問2213件

おすすめ

転載: blog.csdn.net/m0_37757533/article/details/105173008