有什么办法可以跳过 make 的目标吗?

有什么办法可以跳过 make 的目标吗?

我正在尝试添加补丁,以便软件可以正确编译和运行,不幸的是,为了添加我正在尝试的更改,我总是遇到恼人的代码样式检查错误。有什么办法可以跳过这一步吗?

答案1

如果 makefile 看起来像这样:

code-style-check: source.c
        tool-you-dont-have

myprogram: code-style-check source.c
        compile source.c -o myprogram

那么你可以tool-you-dont-have通过创建一个名为的文件来避免运行code-style-check

touch code-style-check

Make 将看到它code-style-check比它更新,source.c并且不会尝试重建它。

code-style-check如果是使用 声明的虚假目标,则此方法不起作用.PHONY: code-style-check:虚假目标不是文件名。

请注意,如果code-style-check有依赖项,则在决定是否重建时它们将不再重要myprogram。在上面的示例中这并不重要,因为没有code-style-check任何依赖项。myprogram

GNU make 的另一种解决方案甚至适用于虚假目标,那就是运行

make -o code-style-check …

该选项-o告诉 make 考虑code-style-check比已经存在的任何内容都旧(与touch使文件比已经存在的任何内容更新的方法不同),并且不要尝试重建它。再一次,如果code-style-check也需要 的依赖项myprogram,则不会构建它们。

相关内容