【发布时间】:2019-05-09 17:50:59
【问题描述】:
我正在使用以下代码:
HELLO_WORLD=hello
$(HELLO_WORLD): $(addsuffix .c,$@)
gcc $< -o $@
但是,当我运行代码时,我收到以下错误,暗示 $
gcc -o hello
gcc: fatal error: no input files
当我使用以下代码时...
HELLO_WORLD=hello
$(HELLO_WORLD): $(addsuffix .c,$@)
gcc $(addsuffix .c,$@) -o $@
...Makefile 评估为以下命令...
gcc hello.c -o hello
...这正是我想要的。但是,我不想使用 adduffix 两次。如果我更改了先决条件,我想使用 $
【问题讨论】:
-
请阅读this。尤其是第三段。
-
啊,所以如果我理解正确的话,自动变量只在配方中定义。因此,在先决条件中,未定义 $@。因为 $
-
是的。下面的答案正在解释它。
-
完美!谢谢!