首页 > 解决方案 > GNU make 中的全局先决条件 - 是否可能

问题描述

我有一个包含大量目标的 Makefile,并且希望首先执行某个脚本,而不管正在调用什么目标。我喜欢称其为全球先决条件。

我不想为脚本创建一个目标并将其设置为所有现有目标的先决条件(正如我所说,这些目标并不多)。此外,其他人将来可以添加一个目标,而不是将我的脚本添加为他们的目标的先决条件,所以全局先决条件会处理这个问题。

GNU-make 是否提供了实现此目的的方法?

标签: makefilegnu-make

解决方案


另一种方法:

-include dummy

.PHONY: dummy
dummy:
    run-the-script

Make 将始终尝试重建 makefile 尝试包含的任何文件(如果它已过期或不存在)。在这种情况下,没有这样的文件,构建它的规则运行脚本并且不执行任何其他操作。


推荐阅读