- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux 和 unix 编译调试
详细说明
1 makefile 的编写
1.1 make 的介绍
make 是一个自动编译工具,根据 makefile 的描述判断文件的依赖关系进行
自动按顺序编译,同时也可以判断文档的变更情况,只编译相关的文件。
gmake 是 GNU make 的缩写,一般 linux 自带这个工具,后面介绍的 makef
ile 也是居于 gmake写的。
make 与 gmake 的区别:
在 linux 中,make和 gmake 是同一个文件,通过软连接实现。
在其他版本的 unix 中,各种厂家有自己的 make 命令,要在其 unix 系统使
用 GNU make 而不与原来的 make命令冲突,所以命名为 gmake。
下面介绍 gmake 的 makefile 写法,在 AIX 和 HPUX 上面编译,需要先安装
gmake。
1.1.1 makefile 常见变量定义
makefile 中可定义变量,提供后面的代码访问。定义语法为“变量名称 =变
量值”,变量值可以位空,使用变量的语法为“ $(变量名称 )”。
变量名称可以根据需要自定义,一般会定义下面的变量。
CXX 编译器名称
CXXFLAGS 编译器选项
INLCUDE 包含头文件的搜索目录
LIBS 静态和动态库的搜索目录
LIB 链接的静态和动态库
SRC_PATH 源文件所在目录
SRCS 源文件(通常使用 SRC_PATH 变量通过函数产生,自动列举所有源
文件)
OBJ_PATH 目标文件所在目录
OBJS 目标文件 (通常使用SRCS 变量通过函数产生, 自动列举所有目标文
件)
TARGET 编译最终得到的文件,可以是动态、静态库,或者可执行文件。
1.1.2 伪目标
makefile 编译命令中的目标(下一页有介绍)默认是文件,使用伪目标后,
只是在显式请求时执行命令的名字,不搜索文件是否存在。
有两种理由需要使用 PHONY 目标:避免和同名文件冲突,改善性能。
语法为“ .PHONY:伪目标名称”,名称可以是多个,空格分开。
通常为定义某个动作集合为伪目标,去完成一件事情,例如编译某个程序、
安装和清除。
例如某 makefile 可编译程序和安装。
通常定义伪目标 all 负责编译所需要的文件,伪目标 install 实现拷贝编译得
到的文件拷贝到安装目录,伪目标 clean 负责清除编译产生的文件。
1.1.3 运行规则
规则部分真正执行代码的编译,这部分可分为多个规则。
结构包含目标文件、依赖文件、和执行的命令集合。
target_file: dependency_files
commands
target_file 为目标文件, dependency_files为得到 target_file 所需要的文件, c
ommands为命令集合 (comands每行必须以 tab 键开始 ) 。
1、当 target_file 不存在的时候,检查 dependency_files是否存在,如果存在
则执行 commands,如果不存在,则检查其他命令的 target_file 是否包含这个文
件,如果有,则先执行其他命令,再回来执行 commands,如果其他不包含,就
报错。
2、当 target_file 和 dependency_files都存在,检查 target_
您可能关注的文档
最近下载
- 煤化工工艺学课件 第七章 煤的直接液化.ppt
- 2025青年思想教育微党课ppt课件(优质ppt).pptx VIP
- 2025年北京市石景山区高三一模生物试卷(含答案).pdf
- 2021年护士资格考试统考历年真题汇总及答案.pdf
- 中药学(中级)测试题-单选题免费答案.docx
- 化粪池施工方案模板.docx
- 2024年二级注册建筑师题库附答案(能力提升).docx
- 理想 RISO 9050 7050 3050 7010 3010 闪彩印王中文技术维修手册 后面可以参考理想闪彩印王 EX7200 EX9050 EX9000 EX7250 系列中文维修手册 .pdf
- 气化车间五月份工作总结六月份工作计划.pptx VIP
- 046基于PLC的工厂饮料罐装控制系统设计.doc
文档评论(0)