我试图了解 makefile 是如何工作的。这是一个示例生成文件:
all: prog
x.o: x.cpp globals.hh
$(CC) -c x.cpp
y.o: y.cpp globals.hh
$(CC) -c y.cpp
prog: x.o y.o
$(LD) -o prog x.o y.o -lc
如果我这样做make file
,然后在 中进行一些更改x.cpp
,然后重复make all
哪些命令会重新运行?
据我了解,将重新运行以下命令:
$(CC) -c x.cpp
和
-o prog x.o y.o -lc
如果我改为更改头文件,我认为当我再次 make all 时所有三个都会重新运行。
我对么?顺序是什么?
另外,我正在尝试了解生成文件的依赖关系图的外观。我知道所有,xo、yo 和 prog 都是这里的目标。但是我的逻辑有意义吗?