【问题标题】:What's the difference between $< and $^ in a makefile?makefile 中的 $< 和 $^ 有什么区别?
【发布时间】:2013-11-12 21:08:03
【问题描述】:

makefile 中的隐式变量$&lt;$^ 有什么区别?

例如:

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

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

看来结果是一样的。在我的例子中,我让 $(LIBS) 和 $(LIB_OBJS) 每个只有一个文件。

【问题讨论】:

标签: linux makefile


【解决方案1】:

引用 GNU Make "Automatic Variables" 页面:

$&lt;

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

$^

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

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

【讨论】:

    猜你喜欢
    • 2016-03-17
    • 2011-06-20
    • 2010-10-05
    • 2012-07-05
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2010-10-01
    相关资源
    最近更新 更多