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

コマンド置換マクロ代入

以下の形式のマクロ代入は、command の標準出力を cmd_macro に代入します。以下に例を示します。

cmd_macro:sh = command
COMMAND:sh = cat Listfile 
$(COMMAND): $$(@:=.c)

この例は、前述の例と同じ結果になります。ただし、この例ではコマンドは make の実行ごとに 1 回だけ実行されます。この場合も、標準出力だけが使用され、復帰改行文字空白文字に変換されます。また、コマンドがゼロ以外の終了ステータスを返した場合は、make はエラーを表示して停止します。

コマンド置換マクロ代入は、以下の形式で記述することもできます。

macro:sh += command

macro の値にコマンドの出力を追加します。

target := macro:sh = command

target およびその依存関係を処理するときに、command の出力として条件付き macro を定義します。

target := macro:sh += command

target およびその依存関係を処理するときに、command の出力を条件付き macro の値に追加します。