プログラミングユーティリティ

条件付きマクロ定義

条件付きマクロ定義は、以下のような形式で記述します。

target-list := macro = value

maketarget-list に指定された名前のターゲットおよびその依存関係を処理する際に、指定されたマクロに指定された値を割り当てます。


注 -

target-list 中のそれぞれの語は、% のパターンを 1 つずつ含めることができます。定義が適用されるターゲットを make が特定する必要があるため、条件付きマクロ定義を使用してターゲット名を変更することはできません。


以下の行は、デバッグ用およびプロファイル用の各プログラムコードを処理するための適切な値を CFLAGS に割り当てます。

debug := CFLAGS= -g 
profile := CFLAGS= -pg -O

条件付きマクロへの参照を依存関係リスト中で使用する際には、遅延参照を使用する (先頭に $ を 1 つ追加する) 必要があります 。遅延参照を使用しないと、正しい値が割り当てられる前に make が参照を展開してしまいます。make は、このような正しくない (可能性のある) 参照を検出すると警告を表示します。