这是 Linux 中 make 文件的教程:http://mrbook.org/tutorials/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
) 呢?
最佳答案
main.cpp
是一个文件。
从扩展名我们预计它是一个 c++ 源文件,相关规则表明是这种情况。
只要 main.cpp
比 main.o
(也是一个文件)更新,规则就会被执行。
关于linux - 目标有一个依赖项,该依赖项本身不是目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13460879/