Makefile学习之路——3
2024-08-20 19:08:34
特殊变量:
在Makefile中,有两个变量特殊变量会经常用到:MAKE和MAKECMDGOALS。MAKE变量表示的是当前处理Makefile的命令名是什么。当需要在Makefile中运行另一个Makefile时,需要用到这个变量。
.PHONY: all
all:
@echo "MAKE = $(MAKE)"
MAKECMDGOALS变量表示的是当前构建的目标名。
.PHONY: all clean
all clean:
@echo "\$$@ = $@"
@echo "MAKECMDGOALS =$(MAKECMDGOALS)"
从测试结果来看,MAKECMDGOALS变量指的是用户输入的目标,当只运行make命令且不带参数时,虽然根据Makefile的语法规则,Makefile中的第一个目标即为默认目标,即all目标,但MAKECMDGOALS在这里例外,MAKECMDGOALS此时是空而不是all目标,这一点需要注意。
运行make时可以同时指定多个目标。make在获得了多个目标后,将以从左到右的顺序逐个地构建目标。
/*2017.5.6*/
CURDIR:是make的内嵌变量,指当前目录。
echo $(CURDIR)可以测试makefile的当前目录。
最新文章
- 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中
- yii2——自定义widget
- quartz集群分布式(并发)部署解决方案-Spring
- 跨站脚本攻击XSS
- Extjs 回车查询
- Xslider演示8种滚动效果
- 用Jenkins配置自动化构建
- docker nexus oss
- ↗☻【HTML5秘籍 #BOOK#】第4章 Web表单
- office web apps部署(一)
- java中this关键字解析
- Do a web framework ourselves
- Android布局概述
- 一个有界任务队列的thradpoolexcutor, 直接捕获错误日志
- el表达式原样输出,不被解析
- Ocelot + IdentityServer4 构建 GateWay
- [转]java调用外部程序Runtime.getRuntime().exec
- VS2013/2015 html 设计视图窗口
- ps命令之排序
- 51nod 1589 移数博弈【桶排序+链表】
热门文章
- oracle date日期类型 精析
- 富文本处理NSMutableAttributedString
- 微信小程序的POST和GET请求方式的header区别
- 深入PHP内核之array_multisort
- iOS 直播推流 - 搭建基于RTMP的本地Nginx服务器
- XP如何开启3389端口远程桌面
- Android WebDriver 浏览器自动测试工具介绍
- javascript中function和object的区别,以及javascript如何实现面向对象的编程思想.
- IntelliJ IDEA 14 拉取SVN maven 多模块项目 部署tomcat 详细图解!
- asp.net 在线解压缩文件类