makefile编写说明
来源:互联网 发布:phpip采集源码 编辑:程序博客网 时间:2024/05/06 16:49
1.定义:makefile是通过制定规则来编译程序的一个脚本而已。在linux中使用make命令来执行makefile文件。
2.命名:Makefile或makefile,若是指定其他名称。如:makeFile.可以这样使用make -f makeFile或make clean -f makeFile
3.规则:makeFile
target:prerequisties
(tab键)command
命令实现:比较target和prerequisties的创建时间,若target比prerequisties时间早,或是不存在,就执行下面的命令。若prerequisties不存在,就在下个标签中找,若找不到,就报错。这个就是依赖关系。一层层去找。
4.makefile里面的内容
makefile里面包含5个东西:显示规则,隐讳规则,变量定义,文件指示及注释
显示规则:就是makefile中定义的目标和命令的依赖关系
隐讳规则:make命令自动实现的自动推到
变量定义:像编程语音中的,取个名字包含目标或其他名称
文件指示:1。makefile中包含另一makefile(如:include)。2.根据某些情况指定makefile中有效部分(#if)。3.定义一个多行的命令
注释:#
5.引用其他makefile
语法:include <filename> 说明(inlcude前面可以有空格但是不能有tab), filename可以带路径和通配符,及变量。如include foo.make *.mk, $(sb) 用空格间隔
6.makefile工作流程
1.读入所有的makefile
2.读入include的makefile
3.初始化文件中的变量
4.推到隐讳规则
5.为所有的规则建立依赖链
6.根据依赖关系,决定生产目标
7.执行命令
7.makefile中特殊用法:
7.1通配符:*,?, ...。支持转义字符\
7.2.关键字
wildcard
VPATH:自动搜寻,
VPATH <patter> <directories> ,在dirctories下搜寻符合patter
VPATH <pater>,VPATH,分别清楚特定格式路径,和清楚所有被设置的路径
eg.VPATH %.h ../headers,在“../headers”目录下搜寻所有.h文件
vpath %.c foo:bar 现在foo目录下找.c, 再在bar目录下找.c
自动化变量:$@目标集,$%当目标是函数库文件,则表示规则中的目标成员。$<表示依赖目标中的第一个目标。$?所有比目标新的依赖目标集合,以空格分隔。$+所有依赖目标集合。$*表示目标模式中%及之前的部分。
D和F:比如:dir/foo.o.对$(@D)为dir.。对$(@F)为foo.o
$(*D),$(*F)为文件目录和文件部分
其他类推。。。
- makefile编写说明
- Makefile 编写说明 原文补充
- Makefile编写中参数说明
- 一个简单的makefile编写说明
- makefile编写相关符号及命令说明
- 编写Makefile
- Makefile编写
- makefile编写
- makefile 编写
- makefile编写
- Makefile 编写
- makefile编写
- Makefile编写
- 编写Makefile
- Makefile编写
- makefile编写
- Makefile 编写
- Makefile编写
- 开发模式
- Oracle通过PL/SQL数据泵导出导入数据的命令
- 坚持写博客的重要性
- 黑马程序员--密封类和密封方法
- 计算机程序设计艺术读书感悟
- makefile编写说明
- 学习笔记之Transact-SQL
- vim 同时打开和编辑多个文件
- 在Windows平台下利用VC++下编译png库和zlib库
- 《Java编程思想》学习笔记18——并发编程(一)
- 布局篇-Canvas布局
- android2.3系统成功下载编译移植到BeagleBoard上
- hdu 1279
- smart_ptr之shared_ptr