Makefile项目管理

基本规则

1.若想生成目标,检查规则中的依赖条件是否存在,如不存在,则寻找是否有规则用来生成该依赖文件。
2.检查规则中的目标是否需要更新,必须先检查它的所有依赖,依赖中有人一个被更新,则目标必须更新

  • 分析各个目标和依赖之间的关系
    (目标的时间必须晚于依赖的时间)
  • 根据依赖关系自底向上执行命令
    (默认第一个目标就是终极目标,但是ALL:可以指定终极目标比如ALL:a.out)
  • 根据又该时间比目标新,确定更新
  • 如果目标不依赖任何条件,则执行对应命令,以示更新

目标:依赖条件
命令
makefile命名必须是makefile或Makefile
image
多个文件的时候,有时候只更改一个文件,其他文件没有动,还是要重新make
image

两个重要函数

image
注意第二个:是替换,这些都是字符串,而不是把.c编译成.o
小技巧:make的命令中加个-n可以显示命令但不执行
小技巧:rm前面加个-变成-rm,这样在不小心删除了一个.o文件之后,make clean全部删除也不会因为缺失了刚刚删除的.o文件而报错

三个变量

image
image

补充

image
防止产生歧义,使用静态模式规则
.PHONY防止clean重名
eg:
.PHONY:clean ALL

makefile练习

目录:

makefile:
image

posted @ 2022-02-19 19:51  蘑菇王国大聪明  阅读(33)  评论(0编辑  收藏  举报