【问题标题】:What is the difference between "make" and "make all"?"make" 和 "make all" 和有什么不一样?
【发布时间】:2011-07-28 08:44:45
【问题描述】:

我有一个具有以下结构的 Makefile(工作示例)。

.PHONY: image flashcard put-files

put-files:
    @echo "=== put-files"

image:
    @echo "=== image"

flashcard:
    @echo "=== flashcard"

all: put-files image flashcard
    @echo "Done"

我希望一个简单的make 可以构建所有三个目标,但事实并非如此:

% make
=== put-files

但是如果我明确指定目标,依赖关系也会被构建:

% make all
=== put-files
=== image
=== flashcard
Done

我做错了什么?

【问题讨论】:

    标签: makefile gnu-make


    【解决方案1】:

    一个简单的make 将构建列表中的第一个目标,即put-files

    make all 将构建目标 all。如果您希望 all 成为默认值,请将其移至列表顶部。

    要了解.PHONY 的作用,请参阅http://www.gnu.org/s/hello/manual/make/Phony-Targets.html

    【讨论】:

    • 你说得对,我的问题是我以某种方式认为默认目标是按名称(“全部”)而不是按位置选择的。非常感谢!
    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2010-10-20
    • 2010-11-14
    • 1970-01-01
    • 2014-06-07
    相关资源
    最近更新 更多