makefile讲解概要.ppt

makefile讲解概要

Makefile讲解 Makefile概述 Makefile编写 Makefile运行 Makefile应用实例 课前培训 什么是Unix shell脚本 什么是Makefile 什么是程序的编译链接 Makefile概述 Makefile的规则 Makefile的内容 Makefile的文件名 Makefile的工作原理 Makefile的工作方式 Makefile的简单实例 Makefile的规则 target ... : prerequisites ... command target 目标文件 prerequisites 源文件 command源文件生成目标文件的规则,shell命令 Makefile内容 Makefile里主要包含了五项内容 显式规则 隐晦规则 变量 引用文件 注释 Makefile的文件名 默认的三种文件名 GNUMakefile、Makefile、makefile 执行时直接使用make命令 make = make -f Makefile 自定义文件名 可使用自定义文件名,makelib 执行时使用make的“-f”和“--file”参数 make –f makelib make的工作方式 1、读入Makefile。 2、读入引用Makefile等文件。 3、初始化文件中的变量。 4、推导隐晦规则,并分析所有规则。 5、为所有的目标文件创建依赖关系链。 6、根据依赖关系,决定哪些目标要重新生成。 7、执行生成命令。 Makefile的默认工作原理 找到第一个目标文件,并把该文件作为最终文件 根据依赖关系进行工作 如果目标文件的依赖文件不存在或者更新,会重新编译目标文件 如果没有依赖文件,make不会自动执行command命令 在过程中出现错误,make会直接退出并报错 简单的Makefile实例 objects = main.o kbd.o command.o display.o \ insert.o search.o files.o utils.o edit : $(objects) cc -o edit $(objects) main.o : defs.h kbd.o : defs.h command.h command.o : defs.h command.h display.o : defs.h buffer.h insert.o : defs.h buffer.h search.o : defs.h buffer.h files.o : defs.h buffer.h command.h utils.o : defs.h Makefile的编写 Makefile的书写规则 Makefile的引用文件 Makefile的引用变量 Makefile的条件语法 Makefile的引用函数 Makefile的字符含义 Makefile的书写规则 规则语法 target ... : prerequisites ... command targets : prerequisites ; command command targets-- -- 文件名,以空格分开 prerequisites--目标所依赖的文件,以空格分开多个文件 command-- -命令行, [Tab键]开头,用分号做为分隔 Makefile的引用文件 include filename1 filename2 filename—文件名称+路径 特点 符合shell的任意文件模式 多个文件以空格分开 include不能以[Tab]键开始 ,可以存在空格 Makefile的引用变量 变量命名语法 包含字符、数字,下划线(可以是数字开头) 不能使用“:”、“#”、“=”或是空字符(空格、回车等) 大小写敏感 定义 变量在声明时需要赋初值 使用 在变量名前加上“$”符号,建议使用小括号“()”或是大括号“{}” 变量引用变量 $(var:a=b)”或是“${var:a=b} 操作符“=”和”:=”的区别 操作符 “?=” Makefile的条件语法 条件表达式的语法为: conditional-directive text-if-true endif 以及: conditional-directive text-

文档评论(0)

1亿VIP精品文档

相关文档