make工程管理器时一个自动编译管理器,命令格式如下:
make [选项] [make工程文件]
常用选项:
-d 显示调试信息
-f 文件 指定make 文件
-n 不执行makefile中的命令,只显示输出这些命令
-s 执行但不显示任何信息
一个Makefile文件主要含有一系列make规则,每条规则包含以下内容:
目标文件列表:依赖文件列表
< TAB >命令列表
Makefile中的变量与shell中变量的定义和使用基本一致,make还可以使用环境变量、自动变量和预定义变量
命令格式 | 含义 |
---|---|
AR | 库文件维护程序的名称,默认值为ar |
AS | 汇编程序的名称,默认值为as |
CC | c编译器名称,默认值为cc |
CPP | c预编译器名称,默认值为$(CC)-E |
CXX | c++编译器名称,默认值为g++ |
FC | FORTRAN编译器名称,默认值为f77 |
RM | 文件删除程序名称,默认值为rm -f |
ARFLAGS | 库文件维护程序的选项,无默认值 |
ASFLAGS | 汇编程序的选项,无默认值 |
CFLAGS | C编译器选项,无默认值 |
CPPFLAGS | c预编译器的选项,无默认值 |
CXXFLAGS | c++编译器的选项,无默认值 |
FFLAGS | FRTRAN编译器选项,无默认值 |
命令格式 | 含义 |
---|---|
$* | 不包含扩展名的目标文件名称 |
$+ | 包含所有依赖文件,以空格分开,以出现先后为顺序,可能重复 |
$< | 第一个依赖文件的名称 |
$? | 所有时间戳比目标文件晚的依赖文件,以空格分开 |
$@ | 目标文件的完整名称 |
$^ | 所有不重复的依赖文件,以空格分开 |
$% | 如果目标是归档成员,该变量表示目标归档成员名称 |
makefile文件主要包含五部分内容:显示规则、隐式规则、变量定义、文件指示和注释