我正在尝试在名为makedepend
的makefile中使用Makefile_abc
。
通常,当我必须构建目标trg
时,我说
make -f Makefile_abc trg
这很好用。 我在这个makefile中添加了以下行。
dep:
makedepend main.c
现在,当我这样做时,
make -f Makefile_abc dep
我收到了错误,
makedepend: error: [mM]akefile is not present
make: *** [depend] Error 1
如果我将makefile重命名为Makefile,则以下命令可以正常工作,
make depend
所以,我正在寻找一种在非标准makefile名称上使用makedepend的方法。
答案 0 :(得分:1)
这是一本基本的“阅读手册”问题。
查看makedepend(1),目标-fMakefile_abc
的配方中需要dep
(可选择-f
和Makefile_abc
之间的空格):
dep:
makedepend -fMakefile_abc main.c
要更新依赖项,请运行:
$ make -f Makefile_abc dep
这会导致make
运行:
makedepend -fMakefile_abc main.c
(请注意,目标的“标准” - 最常见的名称是depend
,而不是dep
,因此您通常会运行make -fMakefile_abc depend
或使用普通makefile
1}}文件,make depend
。)
如果您正在使用GNU Make,您还可以在Makefile_abc
添加另一行:
.PHONY: dep # Or depend, depending…
这告诉make
该规则不会创建文件dep
。
您通常可以使用makedepend --help
或makedepend -:
获取有关如何运行命令的信息 - 第一个可能(或可能不会)提供有用的帮助消息概述选项,第二个是不太可能的是一个有效的选项,应该生成一个“用法”消息,总结选项。