特殊变量:

在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的当前目录。

最新文章

  1. 使用po模式读取豆瓣读书最受关注的书籍,取出标题、评分、评论、题材 按评分从小到大排序并输出到txt文件中
  2. yii2——自定义widget
  3. quartz集群分布式(并发)部署解决方案-Spring
  4. 跨站脚本攻击XSS
  5. Extjs 回车查询
  6. Xslider演示8种滚动效果
  7. 用Jenkins配置自动化构建
  8. docker nexus oss
  9. ↗☻【HTML5秘籍 #BOOK#】第4章 Web表单
  10. office web apps部署(一)
  11. java中this关键字解析
  12. Do a web framework ourselves
  13. Android布局概述
  14. 一个有界任务队列的thradpoolexcutor, 直接捕获错误日志
  15. el表达式原样输出,不被解析
  16. Ocelot + IdentityServer4 构建 GateWay
  17. [转]java调用外部程序Runtime.getRuntime().exec
  18. VS2013/2015 html 设计视图窗口
  19. ps命令之排序
  20. 51nod 1589 移数博弈【桶排序+链表】

热门文章

  1. oracle date日期类型 精析
  2. 富文本处理NSMutableAttributedString
  3. 微信小程序的POST和GET请求方式的header区别
  4. 深入PHP内核之array_multisort
  5. iOS 直播推流 - 搭建基于RTMP的本地Nginx服务器
  6. XP如何开启3389端口远程桌面
  7. Android WebDriver 浏览器自动测试工具介绍
  8. javascript中function和object的区别,以及javascript如何实现面向对象的编程思想.
  9. IntelliJ IDEA 14 拉取SVN maven 多模块项目 部署tomcat 详细图解!
  10. asp.net 在线解压缩文件类