【问题标题】:Makefile pattern rule referencing stem in dependenciesMakefile 模式规则在依赖项中引用词干
【发布时间】:2011-07-09 19:46:01
【问题描述】:

我想要一个模式规则,其中包含从词干和使用通配符构建的依赖关系,即类似

$(FILES): %.o: %.c $(wildcard %*.c)

这似乎不起作用:通配符函数中没有扩展词干 %(请参阅 http://www.gnu.org/software/make/manual/html_node/Pattern-Rules.html),而列出依赖项时似乎无法识别自动变量 $*。

有没有(不太笨拙)的方式来做这样的事情?

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    正如 GNU make 手册第 10.5.3 节所述,自动变量(即 $* 是什么)在先决条件中不可用,但它也指一种解决方法,即二次扩展。

    如果我(和你)理解正确,这样的事情应该做你想做的事:

    .二次扩展: $(FILES): %.o: %.c $$(通配符$$**.c)

    【讨论】:

    • 谢谢!这正是我所需要的。
    • 需要指出的是,二次扩展仅适用于 GNU Make 3.81。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多