GNU make での変数の値を出力2011年02月07日 20時02分27秒

BSD make には -V オプションがある。これは引数を取り、ターゲットを実行する変わりに変数を出力して終わる。

% make -V CFLAGS
-O2 -pipe

しかし、GNU make には似たようなオプションは見当たらない。-p を付けると全ての変数を出してくれるが。

そこで、簡単な make ファイルを stdin を通して渡すことで、BSD make の -V 相当を行なってみた。まずは、元になる Makefile から。


% cat Makefile
VAR = var
VAR = rav

a :
        echo ${VAR}

ごく単純にしてある。そこで、echo を用いる。

% echo -e 'echo ::\n\t@echo ${VAR}\ninclude Makefile' | gmake -
echo rav
rav

この echo は -e を受け取ってタブや改行を処理できるものでなければ動かない。しっかり、最後の値の rav を表示している。

gmake -p を grep したものと比べてみる。


% gmake -p | grep VAR
VAR = rav
.VARIABLES := 
        echo ${VAR}