Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
$<隐式变量和$^makefile中有什么区别?
$<
$^
例如:
$(LIBS): $(LIB_OBJS) $(CC) $(CFLAG) -shared $< -o $@
和
$(LIBS): $(LIB_OBJS) $(CC) $(CFLAG) -shared $^ -o $@
结果似乎是一样的。就我而言,我让 $(LIBS) 和 $(LIB_OBJS) 每个只有一个文件。
引用 GNU Make“自动变量”页面:
第一个先决条件的名称。[...]
所有先决条件的名称,它们之间有空格。[...]
因此,在您的情况下,只有一个先决条件时没有区别。