如何在非标准的makefile名称中使用makedepend

时间:2016-12-21 21:38:45

标签: c++ c makefile build dependencies

我正在尝试在名为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的方法。

1 个答案:

答案 0 :(得分:1)

这是一本基本的“阅读手册”问题。

查看makedepend(1),目标-fMakefile_abc的配方中需要dep(可选择-fMakefile_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 --helpmakedepend -:获取有关如何运行命令的信息 - 第一个可能(或可能不会)提供有用的帮助消息概述选项,第二个是不太可能的是一个有效的选项,应该生成一个“用法”消息,总结选项。