【问题标题】:GNU Make grouped targets are not groupedGNU Make 分组目标不分组
【发布时间】:2020-04-21 14:15:16
【问题描述】:

我正在尝试 GNU Make 分组目标,但似乎误解了一些东西,因为目标没有按我的预期分组。这是我的makefile:

all: foo bar
.PHONY: foo bar
foo bar &:
        @echo grouped target run for \"target\" $@

然后输出:

$ make
grouped target run for "target" foo
grouped target run for "target" bar

配方针对每个目标运行,因此不分组。我在这里错过了什么?

GNU Make 版本 4.2.1。

【问题讨论】:

  • 你确定你没有开枪打自己的脚吗?您的示例将all 定义为默认目标,并且该目标取决于foobar。换句话说,all 表示同时执行foobar。如果你从上面删除all: foo bar,所以foo bar &是默认值,你会看到不同的结果。
  • @AndrewFalanga 使默认目标是第一个目标,而不是第一条规则中的所有目标。将foo bar & 作为第一条规则使foo 成为默认目标。

标签: makefile gnu-make


【解决方案1】:

没关系,原来分组目标是 4.3 的功能。

来源(非官方发布说明):https://linuxreviews.org/GNU_make_4.3_Is_Released

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-26
    相关资源
    最近更新 更多