Make包含一些规则,告诉Make编译哪些文件、怎样编译以及在什么条件下编译。每条规则包含以下内容:
1.一个“目标体”(targe),即make最终要创建的东西
2.包含一个或多个“依赖体”(dependency)的列表,依赖体通常是编译目标体需要的其他文件。
3.为了从指定的依赖体创建出目标体所需执行的“命令”(command)的列表
变量:
定义变量的一般方法:
VARNAME=some_text [...]
$(VARNAME)可以引用变量的值。
自动变量:
$@ 规则的目标所对应的文件名
$< 规则中的第一个相关文件名
$^ 规则中所有相关文件的列表,以空格为分隔符
$(@D) 目标文件的目录部分(如果目标在子目录中)
$(@F) 目标文件的文件名部分(如果目标在子目录中)
用于程序名和标志的预定义变量:
AR 归档维护程序,默认值=ar
AS 汇编程序,默认值=as
CC C编译程序,默认值=cc
CPP C预处理程序,默认值=cpp
RM 文件删除程序,默认值=”rm -f”
ARFLAGS 传给归档维护程序的标志,默认值=rv
ASFLAGS 传给汇编程序的标志,没有默认值
CFLAGS 传给C编译器的标志,没有默认值
CPPFLAGS 传给C预处理程序的标志,没有默认值
LDFLAGS 传给链接程序(ld)的标志,没有默认值
文章评论(0条评论)
登录后参与讨论