目标具有依赖性,该依赖性本身不是目标

时间:2012-11-19 19:38:34

标签: linux makefile

以下是Linux中make文件的教程:http://mrbook.org/tutorials/make/

这是一个make文件示例:

all: hello

hello: main.o factorial.o hello.o
    g++ main.o factorial.o hello.o -o hello

main.o: main.cpp
    g++ -c main.cpp

factorial.o: factorial.cpp
    g++ -c factorial.cpp

hello.o: hello.cpp
    g++ -c hello.cpp

clean:
    rm -rf *o hello

对我而言,这一行令人困惑main.o: main.cpp 这是什么意思?据我了解,这意味着目标main.o具有main.cpp依赖关系。但main.cpp没有目标 这意味着目标(main.o)具有依赖项(main.cpp),该依赖项(main.cpp)本身不是目标。那是什么(main.cpp)?

2 个答案:

答案 0 :(得分:2)

main.cpp文件

从扩展我们期望它是一个c ++源文件,相关规则表明情况就是这样。

只要main.cppmain.o更新(也是文件),规则就会被排除。

答案 1 :(得分:1)

main.cpp是您的源代码。 main.cpp没有目标这一事实意味着Make无法生成该文件。您需要自己创建它。