10

有类似的东西是不好的做法:

all:

在 Makefile 中,强制用户指定目标,并忽略默认目标?

4

1 回答 1

18

all不一定是默认目标。默认目标是您的 makefile 中定义的第一个目标。此外,如果您将一个空目标保留为默认目标(并确保all在 makefile 的其他位置没有其他目标具有规则),make那么 ' 的行为可能会有点令人费解。我建议让默认行为打印适当的错误消息,例如:

error:
        @echo "Please choose one of the following target: compile, install, uninstall"
        @# Alternatively: "Please RTFI(nstall)F(ile)"
        @exit 2
于 2013-02-26T17:47:31.553 回答