检查依赖关系有多深?

时间:2012-09-29 18:48:41

标签: c++ compilation makefile dependencies

我的install目标取决于我的all目标,后者取决于prog,即需要安装的程序的名称。问题是,当我更改prog.cpp并运行make install时,它不会重新编译。但是,当我运行make时,确实如此。 实际检查有多深,以确定是否有需要更新的目标?因为它似乎很快就会停止......

1 个答案:

答案 0 :(得分:2)

“Make”检查依赖关系,无论它们有多“深”,但它不会自动执行任何操作。如果“make install”没有建立一个导致实际构建的正确依赖链,那么它就不会发生。

示例:

install:
   cp Program /usr/bin/Program

将会这样做:它将复制程序而不执行任何其他操作。

install: Program
   cp Program /usr/bin/Program

说“安装”取决于“程序”,所以在实际执行与“安装”相关的命令之前,make会查找有关“程序”的内容。