MAKEFLAGS
マクロ
MAKE
マクロと同様に、MAKEFLAGS
も特殊マクロです。
MAKEFLAGS
をメークファイル中に定義しないでください。
MAKEFLAGS
には、make コマンド用のフラグ (1 文字のオプション) が含まれています。他の FLAGS マクロとは異なり、MAKEFLAGS
の値は、フラグの冒頭に付いている - (ハイフン) を除いて連結したものになります。たとえば、eiknp という文字列は、MAKEFLAGS
の値として認識されますが、-f x.mk や macro=value は値として認識されません。
MAKEFLAGS
という環境変数が設定されている場合は、make は、コマンド行で指定されたフラグと、MAKEFLAGS
に含まれるフラグを組み合わせて実行されます。
MAKEFLAGS
の値は、環境変数で設定されているかどうかに関係なく常にエクスポートされ、MAKEFLAGS
に含まれるオプションは、($(MAKE)、make、/usr/bin/make のうちどれによって呼び出されたかに関係なく) 入れ子にした make コマンドに渡されます。これにより、親の make が呼び出された際のオプションが、入れ子にした make コマンドに渡されます。