“make”和“make all”的区别是什么?

28

我有一个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

我做错了什么?

1个回答

40

1
你说得对,我的问题在于我错误地认为默认目标是通过名称(“all”)选择的,而不是通过位置选择的。非常感谢! - Dave Vogt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接