C 如何将参数值包含到makefile中的字符串中
我有一个makefile,并通过命令行向它传递一个参数。假设我传递时钟频率的参数,例如C 如何将参数值包含到makefile中的字符串中,c,makefile,optional-parameters,C,Makefile,Optional Parameters,我有一个makefile,并通过命令行向它传递一个参数。假设我传递时钟频率的参数,例如 make run FREQ=500 在我的makefile中,我想在字符串中包含FREQ的值,例如,我想像这样展开它 RUN_FLG = "--frequency = 500" 我知道如果您正常使用$(FREQ)(不是在字符串中),那么可以使用$(FREQ),但是如何在字符串中展开它呢?make不知道字符串是什么;将宏引用嵌入字符串与嵌入字符串外部相同: DEFAULT_FREQ = 60 FREQ
make run FREQ=500
在我的makefile中,我想在字符串中包含FREQ的值,例如,我想像这样展开它
RUN_FLG = "--frequency = 500"
我知道如果您正常使用$(FREQ)(不是在字符串中),那么可以使用$(FREQ),但是如何在字符串中展开它呢?
make
不知道字符串是什么;将宏引用嵌入字符串与嵌入字符串外部相同:
DEFAULT_FREQ = 60
FREQ = $(DEFAULT_FREQ)
RUN_FLG = "--frequency=$(FREQ)"
我已经“纠正”了--频率中的间距;通常情况下,=
不会与选项文本分开,值后面也不会有空格
我在makefile
中为FREQ提供了一个默认值,因此如果在没有任何FREQ=500
覆盖的情况下调用它,您仍然可以将默认值作为$(RUN\u FLG)
的一部分,只需使用$(value)
例如:
freq = 500
x = "--frequency = $(freq)"
run:
@$(/bin/echo -e) $(x)
make-n的输出:
"--frequency = 500"
你用同样的语法试过了吗?我不认为make知道引号括起来的字符串,因为所有东西都被视为一个字符串。Pubby-还没有尝试过,但我会尝试。