Makefileの基本

単純なMakefileは以下のような"ルール"から成り立っています。


変数 = 値

ターゲット : 依存関係
コマンド
・・・


変数とは変数の値と呼ばれるデータの文字列に取って代わらせるのにMakefile内で定義する名前のことです。明示的に値を要求する事でターゲットや依存関係、コマンドなどのMakefileのさまざまな場所で代用できます。

変数の値に置き換えさせるようにするには、ドル記号の後に括弧か大括弧(ブレース、"{ }"の事)の中に変数を書きます。つまり、変数fooの有効な参照は"$(foo)"と"${foo}"になります。この"$"にはこのように特別な意味があるため、ファイル名やコマンドに一文字のドル記号を使うには"$$"と書かなければなりません。

変数はMakefileのどこにあっても読み込み時に展開されます。

変数には関数を使う事も出来ます。関数呼び出しは変数の参照に似ていて、$(関数 引数)または、${関数 引数}と記述します。

ターゲットは通常、プログラムによって生成されたファイルの名前です。ターゲットの例として、実行可能なオブジェクトファイルがあります。"clean"のように実行するアクションの名前でも構いません(フォニーターゲット)。なお、最初に記述されたターゲットをデフォルトターゲットと呼びます。

依存関係とは作成するターゲットを入力するのに利用されるファイルもしくはターゲットのことです。1つのターゲットはよくいくつかのファイルに依存しています。

コマンドとはmakeが実行するアクションのことです。ルールは複数のコマンドを持っていてもよく、それぞれが各自特有の行に並びます。

[重要]
コマンド行の始まりは必ずタブでなければいけません!! このことは気づきにくいため思いもよらぬ失敗になることがあります。

テーマ : Linux
ジャンル : コンピュータ

2007-07-19 : Work-Linux-Makefile/Sh/Csh : コメント : 0 : トラックバック : 0
Pagetop
コメントの投稿
非公開コメント

Pagetop
« next  ホーム  prev »

プロフィール

zive

Author:zive
大阪在住、男

ブログ検索

月別アーカイブ

FC2カウンター