GNU make中文手册:递归与MAKEFILES变量解析
需积分: 9 79 浏览量
更新于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` 的这些高级特性对于提高开发效率和代码的可维护性至关重要。
2020-01-28 上传
2008-11-28 上传
2019-08-11 上传
点击了解资源详情
点击了解资源详情
2018-08-17 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
烧白滑雪
- 粉丝: 28
- 资源: 3874
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手