3

$<隐式变量和$^makefile中有什么区别?

例如:

$(LIBS): $(LIB_OBJS)
        $(CC) $(CFLAG) -shared $< -o $@

$(LIBS): $(LIB_OBJS)
        $(CC) $(CFLAG) -shared $^ -o $@

结果似乎是一样的。就我而言,我让 $(LIBS) 和 $(LIB_OBJS) 每个只有一个文件。

4

1 回答 1

5

引用 GNU Make“自动变量”页面:

$<

第一个先决条件的名称。[...]

$^

所有先决条件的名称,它们之间有空格。[...]

因此,在您的情况下,只有一个先决条件时没有区别。

于 2013-11-12T10:15:01.387 回答