全国服务热线:400-6136-679

位置:洛阳达内IT教育培训机构 > 学校动态 > makefile文件浅析

makefile文件浅析

来源:洛阳达内IT教育培训机构时间:2021/9/8 11:05:46

  makefile文件浅析
  当filea.c或a.h文件在编译后被修改时,make工具可以自动重新编译filea.o。如果filea.c和a.h在前后两次编译之间没有被修改,而且filea.o仍然存在,则没有必要重新编译。这种依赖性在多源文件的程序编译中尤为重要。make工具关系的定义,make工具可以避免许多不必要的编译工作。使用Shell脚本当然也能达到自动编译的效果,但Shell脚本ll脚本将编译所有不需要重新编译的源文件,而make工具可以根据目标上一次编译的时间和目标所依赖的源文件的更新时间自动判断应该编译哪个源文件。

  让我们粗略看看Makefile的规则。[3]target...:prerequisites...command...目标:依靠执行指令...target即目标文件,可以是ObjectFile,也可以是执行文件。也可以是标签(Label)。①prerequisites是生成target所需的文件或目标。②command是make需要执行的命令。(任意Shell命令)这是一个文件的依赖关系,说白了,如果prerequisites中有一个以上的文件比target文件更新,command定义的命令将被执行(command必须从Tab键开始,否则编译器无法识别command),从而减少重复编译,提高其软件工程管理效率。

makefile文件浅析

  在Linux中,Makefile允许使用简单的宏指代源文件及其相关编译信息,也称为宏变量。引用宏时,只需在变量前添加符号,但值得注意的是,如果变量名的长度超过一个字符,引用时必须添加圆括号()。有效的宏引用符号,但值得注意的是,如果变量名的长度超过一个字符,引用时必须添加圆括号()。有效的宏引用(CFLAGS)ZZ(Z)的较后两个引用完全一致。需要注意的是,在Unix系统中,*、*、 、 和和和在执行命令的过程中,与四个特殊宏的值会发生相应的变化,而在GNUmake中定义了更多的预定义变量。
  GNUmake的主要预定义变量预定义变量*不包括扩展名称的目标文件名称。目标文件名称不包括扩展名称。+所有依赖文件以空格分离,以出现顺序为序,可能包含重复依赖文件。个依赖文件的名称。个依赖文件的名称。所有依赖文件都是用空格分开的,这些依赖文件的修改日期比目标的创建日期晚。完整的目标名称。完整的目标名称。所有依赖文件都以空格分离,不包括重复依赖文件。如果目标是归档成员,变量表示目标的归档成员名称。
领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/3850/news/406860/违者必究! 以上就是洛阳达内IT教育培训机构 小编为您整理 makefile文件浅析的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6136-679