如果我只输入
$ make
它将make
使用默认目标调用命令(通常是 中指定的第一个目标Makefile
,但规则比这更复杂一些)。
有没有办法在命令行上指定默认目标而不知道它是什么,而不是简单地省略目标名称?
我想做的是结合这两个命令:
$ make clean
$ make
一次调用make
. 如果我碰巧知道默认目标是all
,我可以输入:
$ make clean all
但如果我不知道默认目标是什么,那将不起作用。
理想情况下,我想要一些引用默认目标的语法(GNU make 手册将其称为“默认目标”)。这:
$ make clean .DEFAULT_GOAL
显示了一般的想法,但它不起作用。
第二好的方法是从命令行确定默认目标是什么的简单而可靠的方法:
$ make clean $(get-default-target)
一个特定于 GNU 的解决方案就可以了。
我怀疑,通过快速浏览手册,没有好的方法可以做到这一点。