Make 依赖模拟器

Make 不会“记住上次执行到哪里”,它比较目标与前置文件的时间戳,再沿依赖图安排最少步骤。勾选发生变化的文件,看看哪些目标会过期。

输入变化

哪些文件刚被修改?
调度方式

依赖图与构建顺序

src/main.c源文件
include/calc.h公共头文件
src/calc.c源文件
build/main.o依赖 main.c + calc.h
bin/app依赖两个对象
build/calc.o依赖 calc.c + calc.h
$ make
make: Nothing to be done for 'all'.
所有目标比前置文件新,因此当前不需要执行配方。