以下内容源于http://bbs.chinaunix.net/thread-1596089-1-1.html,如有 侵权,请告知删除。

所谓自动变量,就是这种变量会把模式中所定义的一系列的文件自动地挨个取出,直至所有的符合模式的文件都取完了。这种自动化变量只应出现在规则的命令中。

以一个例子说明

OBJS = ifconfig.o tftp_util.o ping.o
SRCS = $(OBJS:.o=.c)PHONY += all
all : $(BUILT_IN_OBJ) $(BUILT_IN_OBJ) : $(OBJS)$(LD) $(LDFLAGS) -r $^ -o $@     //第一个例子$(OBJS) : $(SRCS)$(CC) $(CFLAGS) -c $^  //第二个例子PHONY += clean
clean :@rm -vf *.o.PHONY : $(PHONY)

注:$(BUILT_IN_OBJ) 和 $(PHONY)来自上层目录g-bios/app/Makefile,可以不用理解。


$@ 代表目标集合,第一个例子中为$(BUILT_IN_OBJ) ;

$^ 代表所有的依赖对象,第一个例子中$^为$(OBJS),即 ifconfig.o tftp_util.o ping.o;

第二个例子中$^为$(SRCS),即$(OBJS:.o=.c) (Makefile解释后为: ifconfig.c tftp_util.c ping.c)

$< 代表第一个依赖对象

如果第一个例子修改为下面的内容,则$<表示ifconfig.o。

$(BUILT_IN_OBJ) : $(OBJS)$(LD) $(LDFLAGS) -r $< -o $@

最新文章

  1. TIANCHI-全球城市计算挑战赛-完整方案及关键代码分享(季军)
  2. java怎么缓存行填充_为什么java的Exchanger.Slot缓存行填充像这样?
  3. ip route / ip rule /iptables 配置策略路由
  4. mysql if 多个_MySQL使用IF语句CONCAT多个字段
  5. 深度学习logit是什么?
  6. Error--解决使用Application Loader提交ipa包审核时的报错:ERROR ITMS-90168: The binary you uploaded was invalid....
  7. 数据库开发这点事 中文PDF下载
  8. Altium Designer 15 PCB图层详解
  9. 网吧服务器ip地址修改,BXP服务器下的网吧ip地址怎么更改
  10. 什么是P问题、NP问题和NPC问题
  11. 学习笔记16-HC05
  12. OSChina 周日乱弹 —— 跨界程序员
  13. 制作u盘winpe启动盘_如何下载优启通U盘启动盘制作工具并制作启动盘?
  14. PostgreSQL下载与安装(Windows版)
  15. 银行的SWIFT CODE 和 IBAN CODE 和 ABA CODE 分别是什么意思
  16. 【总结】1438- 你想知道的前后端协作规范都在这了
  17. 【渝粤题库】广东开放大学Photoshop图像设计 形成性考核
  18. java如何利用JNative调用dll文件
  19. YII2日常所用的教程
  20. MarkDown语法快捷键

热门文章

  1. linux 下php多版本安装
  2. ASP.NET-权限管理五张表
  3. 44.Android之Shape设置虚线、圆角和渐变学习
  4. hdu 3864 素数分解
  5. C++构造函数/析构函数 设置成private的原因
  6. 使用keil建立标准STM32工程模版(图文详细版!)
  7. Mysql数据导入导出
  8. 一个立即关闭显示器的小软件(Masm开发,只有3KB大小)
  9. DuangDuangDuang!码云项目的 Readme.md 特殊技能
  10. 帮助孩子学会感恩_页数204_出版日期2015.03_完整版PDF电子书下载