理解makefile的书写规则与基本语法
下载需积分: 35 | PDF格式 | 27.69MB |
更新于2024-08-06
| 46 浏览量 | 举报
"Linux编程从入门到精通 - 宫虎波等编著"
本文将深入探讨有关`Makefile`的书写规则,特别是在光纤通信技术的背景下。`Makefile`是Linux环境中用于自动化构建、编译和测试项目的文件,它极大地提高了开发效率。
**6.2 makefile的书写规则**
在`Makefile`的基本结构中,遵循以下规则:
1. **Targets(目标)**: 目标是`Makefile`要处理的文件,可以是一个或多个,通常是一个编译后的可执行文件或库文件。目标可以使用通配符(*)来匹配多个文件,例如所有的`.o`对象文件。
2. **Prerequisites(依赖项)**: 目标通常依赖于其他文件,如源代码文件或头文件。如果依赖文件的修改时间晚于目标文件,那么`make`会判断目标过时,需要重新构建。
3. **Command(命令)**: `make`执行的命令通常用来编译、链接目标文件。命令行以制表符(\t)开始,可以分多行写,每行以`\`结尾表示续行,或者在同一行使用分号(;)分隔。
**6.2.1 基本语法规则**
- 注意,`make`命令中的每个条目都应当以一个Tab键开始,而不是空格,这是非常重要的,因为`make`会根据这一点来识别命令。
**6.2.2 定义变量**
- 在`Makefile`中,可以定义变量来存储文本字符串,这些变量会在适当的地方被展开。这类似于C语言中的宏,但与C语言不同,变量的值可以在`Makefile`中改变。
- 变量名可以包含字母、数字和下划线,但不应含有冒号(`:`)。
结合书籍《Linux编程从入门到精通》,我们可以看到该书详细介绍了在Linux平台上使用C语言进行程序开发的技术。从基础知识如Linux系统环境、命令行到C语言编程环境,再到输入输出、进程管理和网络编程,这本书提供了一套完整的学习路径。
**书中内容概述:**
1. **第一篇**:介绍Linux系统环境,包括系统简介和命令行环境。
2. **第二篇**:讲解C语言及其编程环境,涵盖C语言基础、编辑器、编译器、调试工具和库的使用。
3. **第三篇**:涉及文件操作、标准输入输出、界面程序设计(如QT、GTK+)、进程和信号等内容。
4. **第四篇**:深入进程间通信(如管道、消息队列、共享内存、信号)和网络编程,包括基本的套接字编程和一个综合实例——银行代理收费服务器。
这本书对于没有编程基础的C语言初学者来说是一本很好的入门教程,也适合大中专院校的学生和培训班作为教材,对Linux下C语言开发的爱好者具有很高的参考价值。
相关推荐
![filetype](https://img-home.csdnimg.cn/images/20241231044930.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044930.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044736.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044955.png)
![filetype](https://img-home.csdnimg.cn/images/20210720083606.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044930.png)
![filetype](https://img-home.csdnimg.cn/images/20241231045053.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044930.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044736.png)
![](https://profile-avatar.csdnimg.cn/1bba63c31ae8442dba7024cd341af0e3_weixin_26779013.jpg!1)
潮流有货
- 粉丝: 36
最新资源
- 设计模式:面向对象软件的复用基础与实例解析
- 开发指南:Microsoft Office 2007与Windows SharePoint Services
- DB2 Version 9 Command Reference for Linux, UNIX, Windows
- EJB技术详解:Java与J2EE架构中的企业级组件
- Spring整合JDO与Hibernate:Kodo的使用教程
- PS/2鼠标接口详解:物理连接与协议介绍
- SQL触发器全解析:经典语法与应用场景
- 在线优化Apache Web服务器响应时间
- Delphi函数全解析:AnsiResemblesText, AnsiContainsText等
- 基于SoC架构的Network on Chip技术简介
- MyEclipse 6 Java开发完全指南
- VBA编程基础:关键指令与工作簿工作表操作
- Oracle学习与DBA守则:通往成功的道路
- Windows Server 2003 DNS配置教程
- 整合JSF, Spring与Hibernate:构建实战Web应用
- 在Eclipse中使用HibernateSynchronizer插件提升开发效率