GNU make中文手册:递归与MAKEFILES变量解析
需积分: 9 115 浏览量
更新于2024-08-08
收藏 1.29MB PDF 举报
"make的递归-boost.asio c++网络编程(中文版)pdf"
本文档主要探讨了GNU `make` 工具的递归使用和相关变量的应用,特别是`MAKEFILES` 和 `MAKEFILE_LIST` 变量。在C++网络编程中,`make` 是构建和管理项目的重要工具,而`boost.asio` 是一个用于网络编程的库,它提供了异步I/O操作。
`MAKEFILES` 变量在`make` 的递归调用中起着关键作用。这个环境变量通常用来传递信息或指定包含通用规则和变量的文件。然而,直接设置`MAKEFILES` 可能会导致多层`make` 调用时的混乱,因为每一层都会读取该变量指定的文件。因此,不推荐将`login`程序与`MAKEFILES` 相关联,这会导致Makefile在不同的工作环境中无法正常工作。推荐的做法是使用`include`指示符来包含其他Makefile文件。
`MAKEFILE_LIST` 变量则记录了`make` 在读取所有Makefile文件时的列表,包括由`MAKEFILES` 指定、命令行指定、默认的以及通过`include` 包含的文件。通过检查`MAKEFILE_LIST` 的最后一个元素,可以知道当前`make` 正在处理哪个Makefile。例如,一个Makefile可以利用`$(words $(MAKEFILE_LIST))` 和`$(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST))` 来获取当前处理的文件名。
文档还涵盖了`make` 的基本概念,如Makefile的结构、规则、变量、自动规则推导、目录搜索等。`make` 如何工作、如何指定变量、如何处理通配符和目录搜索都是Makefile编写的关键。`VPATH` 和`vpath` 用于控制依赖文件的搜索路径,而`wildcard` 函数可以帮助获取目录中的文件列表。此外,还讨论了Makefile中的特殊目标,如伪目标、静态模式规则等,这些都是高效构建和管理项目的重要工具。
在C++网络编程中,`make` 与`boost.asio` 结合使用,能够帮助开发者组织复杂的异步网络应用,通过`make` 的规则和变量管理编译过程,同时利用`boost.asio` 提供的接口进行网络通信。理解并熟练掌握`make` 的这些高级特性对于提高开发效率和代码的可维护性至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
1921 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
229 浏览量
点击了解资源详情

烧白滑雪
- 粉丝: 29
最新资源
- 简化Android开发:一键保存对象至Bundle的工具类
- 微信小游戏开发:打造趣味'数钱'体验
- 掌握Python机器学习:代码和数据实战教程
- 阮一峰编写的ECMAScript 6 入门文档PDF版
- ASP.NET MVC 2.0与jQuery实现JSON数据交互指南
- 最新XENU死链接检测工具公司测试版发布
- X-Y数控电气系统机电一体化设计与CAD图解
- Java1.6版本JDK安装教程与资源下载
- ARCore精选项目资源清单:技术贡献指南
- IXML:轻量级XML解析器支持标准DOM2接口
- DccPackage无水印Office转PDF工具高效转换
- Apache CXF 3.2.2发布,新一代WebService框架稳定版
- 利用Speckle在Unreal引擎中打造未来之家的开发指南
- 探秘阿里巴巴中间件挑战赛:RPC与MOM的实践
- C#在SQL Server 2008R2和Excel间实现数据导入导出
- cocos2d-x中CCBlade类实现切水果画线效果