天天看点

Makefile项目管理

基本规则

1.若想生成目标,检查规则中的依赖条件是否存在,如不存在,则寻找是否有规则用来生成该依赖文件。

2.检查规则中的目标是否需要更新,必须先检查它的所有依赖,依赖中有人一个被更新,则目标必须更新

  • 分析各个目标和依赖之间的关系

    (目标的时间必须晚于依赖的时间)

  • 根据依赖关系自底向上执行命令

    (默认第一个目标就是终极目标,但是ALL:可以指定终极目标比如ALL:a.out)

  • 根据又该时间比目标新,确定更新
  • 如果目标不依赖任何条件,则执行对应命令,以示更新

目标:依赖条件

命令

makefile命名必须是makefile或Makefile

Makefile项目管理

多个文件的时候,有时候只更改一个文件,其他文件没有动,还是要重新make

Makefile项目管理

两个重要函数

Makefile项目管理

注意第二个:是替换,这些都是字符串,而不是把.c编译成.o

小技巧:make的命令中加个-n可以显示命令但不执行

小技巧:rm前面加个-变成-rm,这样在不小心删除了一个.o文件之后,make clean全部删除也不会因为缺失了刚刚删除的.o文件而报错

三个变量

Makefile项目管理
Makefile项目管理

补充

Makefile项目管理

防止产生歧义,使用静态模式规则

.PHONY防止clean重名

eg:

.PHONY:clean ALL

makefile练习