make用来管理多模块软件的编译和链接,直至生成可执行的代码。
makefile描述系统中的各模块的依赖关系,说明系统的编译规则,makefile实际上是一种脚本文件。
make [选项] [目标] [宏定义]
指令的执行只需在makefile文件所在的目录下输入make命令即可。
常用选项
-f <文件> 指定从哪个文件中读取依赖信息,默认下是makefile或者Makefile。
-h 显示所有makefile的帮助信息。
makefile
目标列表:关联性列表
命令列表
makefile中注释:#
makefile中的连接符:\
makefile中的通配符:? *
简单变量
定义:变量名:=[文本]
添加:变量名 =[文本]
引用
$(变量名)
${变量名}
$单字符变量 C=gcc $C CC=gcc $CC
内置变量
$@ 当前目标的名称(代表目标列表)
$? 比当前目标更新的已修改的依赖性列表(代表所有的已修改的依赖性文件)
$< 比当前目标更新的已修改的当前依赖性名称(代表第一个依赖文件)
$^ 用空格分开的所有依赖性列表
虚目标
makefile中有一些目标,他们是一些不存在的文件,而且也不需要创建他们,所以称他们为虚目标。
允许你强制执行某些事件,而这些事件在正常情况下是不会发生的。虚目标总是使与之相关的命令执行。
常见虚目标
all 生成工程中所有可以执行者,通常是makefile的第一个生成目标
clean 删除make all中生成的所有文件
install 在系统目录中安装工程项目生成的可执行文件和文档
uninstall 删除make install生成的所有文件
阅读(1838) | 评论(1) | 转发(0) |