"clean"规则在 Makefile 中不存在,但 make clean 无论如何都会产生一些东西

"clean" rule not existing in Makefile, but make clean produces something anyway

本文关键字:clean make Makefile 规则 不存在 无论如何      更新时间:2023-10-16

我在linux上的构建过程有一个小问题。

无论出于什么原因,在我的代码中,如果我发布一个"make clean"Linux,就会生成一个名为"clean"的文件。问题是,我的项目的makefile中没有一个"干净"的部分。

看起来我的make从某个地方获取了错误的Makefile,这可能与我项目的Makefile冲突。

有没有办法知道要查找哪个makefile?

两个想法:

  1. 使用--debug命令行选项让make程序告诉您更多关于它正在做什么的信息
  2. 尝试添加clean目标的.PHONY声明

我建议使用重制版来调试您的makefile。安装它,然后运行remake -x甚至remake -x -d。(remake实用程序是GNU make的一个几乎兼容的变体)。

在您的案例中,由于缺少虚假的clean目标,make实用程序将创建一个名为clean的空文件。