基本原则:
1、若想生成目标,检查规则中的依赖条件是否存在,若不存在,则寻找是否有规则用来生成该依赖文件。
2、检查规则中的目标是否需要更新,必须检查他的所有依赖,依赖中有任意一个被更新,则目标必须更新。
分析各个目标和依赖之间的关系
根据依赖关系自底向上执行命令
根据修改时间比目标新,确定更新
如果目标不依赖任何条件,则执行对应命令,以示更新
规则:
目标:依赖条件
(一个缩进)命令
例如:对hello.c文件进行编译
目标是生成hello可执行文件,依赖于hello.c文件,命令是gcc hello.c -o hello
分解成两个命令
gcc -c hello.c -o hello.o
gcc hello.o -o hello
hello依赖于hello.o
hello.o文件依赖于hello.c文件
ALL:指定最终目标