Makefile構文
Makeファイルの構文構成は主に以下の通りである。
- ターゲット(Target):Makefileのターゲットは生成するファイルや実行する動作を指定します。ターゲットの構文形式は通常、target: prerequisitesとなり、targetはターゲットファイル、prerequisitesはターゲットを生成するために依存するファイルを表します。
- 依存関係(Prerequisites):依存関係は、生成対象に必要なファイルまたはその他の対象を指定します。複数の依存関係を指定でき、各依存関係はスペースで区切ります。
- コマンド(Command):Makefileでは、コマンドによって生成対象のアクションを指定できます。コマンドはタブで始まり、対象の次の行に記載する必要があります。コマンドは任意のシェルコマンドにすることができます。
- 変数(Variable):繰り返しコードを簡略化するために変数を使用できます。変数はMakeファイル内で定義でき、後のコマンドで使用できます。変数の定義は通常、variable = valueの形式で行われます。
- コメント(Comment): Makefileにコメントを入れてMakefileの内容を説明できます。コメントは#から始めてその行の終わりまでです。
- Makefileでは、偽ターゲット(.PHONY)やデフォルトターゲット(.DEFAULT_GOAL) といったMakefileの動作を制御するための特別なルールを定義することも可能です。
Makefile の文法は、基本的にこの形式に簡約できます。
target: prerequisites
command1
command2
...
ターゲットが目標ファイル、前提条件が目標を生成するために依存しているファイル、コマンドが目標を生成するコマンドです。