1

makefileがあり、コマンドラインからパラメーターを渡します。このようなクロック周波数のパラメータを渡すとしましょう。

make run FREQ=500

私のmakefileでは、FREQの値を文字列内に含めたいと思います。たとえば、このように展開したいと思います。

RUN_FLG = "--frequency = 500"

$(FREQ)を通常(文字列内ではなく)使用している場合は使用できることは知っていますが、文字列内でどのように展開しますか?

4

2 に答える 2

1

make文字列が何であるかを知りません。文字列の外側と同じように、マクロ参照を文字列に埋め込みます。

DEFAULT_FREQ = 60
FREQ         = $(DEFAULT_FREQ)

RUN_FLG = "--frequency=$(FREQ)"

--frequency;の間隔を「修正」しました。通常=、オプションテキストとは別にはなく、値もスペースなしで続きます。

FREQのデフォルト値を内部に提供したので、オーバーライドmakefileなしで呼び出された場合でも、の一部としてデフォルト値を使用できます。FREQ=500$(RUN_FLG)

于 2012-05-28T19:22:53.360 に答える
1

使用するだけ$(value)

例:

freq = 500
x = "--frequency = $(freq)"

run:
    @$(/bin/echo -e) $(x)

の出力make -n

"--frequency = 500"
于 2012-05-28T19:24:14.723 に答える