ためになるホームページ お問い合わせ




TOP > Makefile > 条件式とinclude
条件式
Makefile内で条件式を記述する事ができる。以下の4種類がある。共通して言える事は、各条件式の分岐はelseで終了はendifである。

ifdef 変数名
変数が宣言されていれば、ifdef内を実行する。変数が宣言されてなく、else文があった時はelse内が実行される。
変数名は、$()する必要はない。

ifdefの例
ifdef aaa
    name := bbb.exe
else
    name := ccc.exe
endif


ifeq "a" "b" / ifeq (a, b)
aとbが等しければ、ifeq内を実行する。ifeq "a" "b"とifeq(a, b)は同じ意味。

ifeqの例
ifeq (a, b)
    name := bbb.exe
else
    name := ccc.exe
endif


ifneq "a" "b" / ifneq (a, b)
ifeqの反対。aとbが等しくなければ、ifeq内を実行する。ifneq "a" "b"とifneq(a, b)は同じ意味。

ifneqの例
ifneq (a, b)
    name := bbb.exe
else
    name := ccc.exe
endif


include
include命令は、指定したファイルを読みこむ。ファイルが存在しなかった場合、makeはエラーを報告しファイルを読み続ける。全てを読み終わった後、インクルードファイルを更新するためのルールがないかデータベースを検索し、見つかった場合は通常のターゲットとして処理をする。ルールによりインクルードファイルが更新されると、makeはいったん内部のデータベースをクリアし、もう一度ファイルを読みはじめる。これらを全て行なっても、指定したファイルがない時は、エラーを出してmakeは終了する。
includeのエラーを無効にする時は、includeの前に-を付ける。






Copyright 2007 ためになるホームページ All Rights Reserved.