makefileがあり、コマンドラインからパラメーターを渡します。このようなクロック周波数のパラメータを渡すとしましょう。
make run FREQ=500
私のmakefileでは、FREQの値を文字列内に含めたいと思います。たとえば、このように展開したいと思います。
RUN_FLG = "--frequency = 500"
$(FREQ)を通常(文字列内ではなく)使用している場合は使用できることは知っていますが、文字列内でどのように展開しますか?
makefileがあり、コマンドラインからパラメーターを渡します。このようなクロック周波数のパラメータを渡すとしましょう。
make run FREQ=500
私のmakefileでは、FREQの値を文字列内に含めたいと思います。たとえば、このように展開したいと思います。
RUN_FLG = "--frequency = 500"
$(FREQ)を通常(文字列内ではなく)使用している場合は使用できることは知っていますが、文字列内でどのように展開しますか?
make
文字列が何であるかを知りません。文字列の外側と同じように、マクロ参照を文字列に埋め込みます。
DEFAULT_FREQ = 60
FREQ = $(DEFAULT_FREQ)
RUN_FLG = "--frequency=$(FREQ)"
--frequency
;の間隔を「修正」しました。通常=
、オプションテキストとは別にはなく、値もスペースなしで続きます。
FREQのデフォルト値を内部に提供したので、オーバーライドmakefile
なしで呼び出された場合でも、の一部としてデフォルト値を使用できます。FREQ=500
$(RUN_FLG)
使用するだけ$(value)
例:
freq = 500
x = "--frequency = $(freq)"
run:
@$(/bin/echo -e) $(x)
の出力make -n
:
"--frequency = 500"