GNU make中文手册:递归与MAKEFILES变量解析
需积分: 9 195 浏览量
更新于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` 的这些高级特性对于提高开发效率和代码的可维护性至关重要。
231 浏览量
715 浏览量
158 浏览量
点击了解资源详情
点击了解资源详情
1848 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
![](https://profile-avatar.csdnimg.cn/397c0d1192094a96b4dfb4e451a2b90f_weixin_26766559.jpg!1)
烧白滑雪
- 粉丝: 29
最新资源
- MC68HC908JB8 USB指纹采集仪设计与实现
- Modelsim 6.0入门教程:功能验证与安装详解
- Jboss EJB3.0 实例教程:从入门到精通
- Linux高手进阶:系统操作与命令实战指南
- Linux高级路由与流量控制指南
- 硬盘FAT文件系统详解:物理结构与逻辑结构
- Windows XP关键系统进程详解:svchost、IEXPLORE、rundll32与ctfmon
- 数据流中高效挖掘最频繁K个元素的算法
- DWR中文教程:入门与实践
- 超市数据分析:关联规则挖掘的实战应用与算法详解
- 网络图书管理系统设计与实现:一种企业图书馆的革新
- Java设计模式:提升复用与灵活性
- 英语词根词缀学习资源:俞敏洪的记忆大全
- C语言实现普里姆算法最小生成树
- 嵌入式Linux下的彩色LCD驱动开发详解
- C/C++语言经典实用程序设计编程百例精解