我有一個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
的間距;您通常不會將=
與選項文本分開,並且該值也會隨後不帶空格。
我提供的makefile
內FREQ的默認值,這樣,如果它是在沒有任何FREQ=500
覆蓋調用,你仍然有默認值的$(RUN_FLG)
一部分。
只需使用$(value)
例子:
輸出make -n
的
freq = 500
x = "--frequency = $(freq)"
run:
@$(/bin/echo -e) $(x)
:
"--frequency = 500"
你已經嘗試過使用相同的語法?我不認爲make知道引用字符串,因爲一切都被視爲一個字符串。 – Pubby
Pubby - 尚未嘗試過,但我會嘗試。 – pythonic
它的工作原理。感謝Pubby! – pythonic