生成文件
abc:
TEST=$@ /* TEST=abc */
def:
TEST=$@ /* TEST=def */
xxx:
@echo $(TEST)
Run Code Online (Sandbox Code Playgroud)
如果我运行make abc xxx,我期望输出abc。
如果我运行make def xxx,我期望输出def。
但事实并非如此。似乎make不允许我在目标中定义变量。我的问题是如何定义一个变量及其值(取决于构建的目标)?
一些编码标准要求在声明它时初始化每个变量,即使该值没有意义且变量很快就会被写入.
例如:
main()
{
char rx_char;
:
:
rx_char = get_char();
}
Run Code Online (Sandbox Code Playgroud)
我的同事要我初始化rx_char,但我不明白为什么.有人能指出原因吗?