在上篇Makefile —— Makefile的规则是什么?make是如何工作的?make的工作方式是什么?文章中我们可以看到[.o]文件的字符串被重复用了三次,如果我们在工程中需要加入一个新的[.o]文件,那么我们需要在三个地方加。

# 为了makefile文件易维护,我们使用变量来表示。
# makefile的变量也就是一个字符串,理解成C语言中的宏会更好
#
# 声明一个变量,objects, OBJECTS, objs, OBJS,obj, 或者是 OBJ
#
# 如果有新的.o文件加入,我们只需简单的修改一下objects变量就好

Makefile文件代码如下:

CC=gccobjects=b.o a.oall:edit@echo "all"edit:$(objects)@$(CC) -o edit $(objects)@echo "edit"a.o:a.c a.h common.h@$(CC) -c a.c -o a.o@echo "a.o"b.o:b.c b.h common.h@$(CC) -c b.c -o b.o@echo "b.o".PHONY:clean
clean:@rm -f edit $(objects)

结果显示如下:

 若工程未被编译过:
#       打印结果为: b.o >然后是> a.o >然后是>  edit >然后是> all
# 若编译好后,只是修改了a.h文件:
#       打印结果为:  a.o >然后是> edit >然后是> all

Makefile —— 如何在文件内使用变量?相关推荐

  1. 使用poi替换ppt文件内的变量参数,包含ppt和pptx格式

    使用poi替换ppt文件内的变量参数,包含ppt和pptx格式 依赖的jar包 <dependencies><dependency><groupId>org.apa ...

  2. vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...

    本篇文章介绍 vim 的一些使用技巧: 在程序代码中快速跳转 在文件内跳转到变量定义处 在程序代码中快速跳转 在 vim 中查看代码文件时,可以使用下面命令在程序代码中快速跳转,提高效率. % 跳转到 ...

  3. linux make makefile 内置变量 默认变量

    在看uboot的Makefile的时候,发现CURDIR这个变量没有定义就直接用了,于是百度了一下,原来CURDIR是Makefile的一个内置变量,在这里顺便把其他的变量也记录一下. 打印变量值使用 ...

  4. 文件自定义变量_awk 内置变量与自定义变量

    点击上方"生信科技爱好者",马上关注真爱,请置顶或星标 作者:ghostwu 原文:https://www.cnblogs.com/ghostwu/p/9085653.html A ...

  5. Makefile自定义函数 / pushd,popd / ifneq / findstring / camke内置变量

    ①Makefile 自定义函数 1.自定义函数编写 自定义函数一般上是命令的集合 define func1 @echo "func name is $(0)\n" @echo &q ...

  6. 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin

    1. 变量的定义 Makefile 文件中定义变量的基本语法如下: 变量的名称=值列表 变量的名称可以由大小写字母.阿拉伯数字和下划线构成.等号左右的空白符没有明确的要求,因为在执行 make 的时候 ...

  7. awk 内置变量与自定义变量

    点击上方"生信科技爱好者",马上关注真爱,请置顶或星标 作者:ghostwu 原文:https://www.cnblogs.com/ghostwu/p/9085653.html A ...

  8. nginx内置变量 大全

    参考:agentzh 的 Nginx 教程(版本 2016.07.21) 在配置基于nginx服务器的网站时,必然会用到 nginx内置变量  ,下面笔者将它整理成列表,把最新版本的变量列出来,以方便 ...

  9. 设计所需的各种输出格式(包括整数、实数、字符串等),用一个文件名format.h把这些信息都包括到此文件内,另编写一个文件,用文件包含命令验证可以使用这些格式

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 16.设计所需的各种输出格式(包括整数.实数.字符串等),用一个文件名"fo ...

最新文章

  1. tomcat 设定自定义图片路径
  2. ACM图灵奖获得者:想从大数据中获益,先解决集成问题!
  3. 运维笔试Python编程题
  4. 游戏开发中 UI 是由谁来完成的?
  5. 向左滚动,每次滚动的长度可以设置,然后暂停后继续滚动
  6. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二)让物体动起来②
  7. java取multipart_spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比...
  8. 学习: 导航器添加修饰符
  9. 如何将 Mac 置入睡眠状态或唤醒 Mac?
  10. 下课拉~~~~~~~~~~~想写就写
  11. java 内部邮件_java – 来自内部存储的电子邮件
  12. 使用AD14制作PCB的全部流程以及PCB打样流程介绍
  13. vue读取本地xlsx文件
  14. 数字人还能设计数字藏品?希加加xQee创作人间十二月
  15. 文本表示(Representation)
  16. android 后台录制视频,Android实现视频录制
  17. U盘偷资料神器,我都不太敢分享了。
  18. 深度解读物联网区块链“IOTA”:不仅解决IoT痛点,还解决区块链痛点
  19. 听完阿里“计算”家族技术领头人的分享,真的受益匪浅!
  20. 精通手游运维的架构体系

热门文章

  1. Button的使用(十四):控制音乐播放
  2. 题目1185:特殊排序
  3. 记录Nginx搭建网关服务
  4. Java复习-线程之间的通信与同步
  5. 从输入 URL 到页面加载完的过程中都发生了什么事情 —— 网络优化篇
  6. Knockout.js 学习 (六)-- 监控属性数组 applyBinding Observables
  7. NET中winform与webform互相通讯实例,CS调用BS页面的JS函数---转载
  8. FIREBIRD浅历
  9. php跳出volist,thinkphpvolist
  10. 将word文档按分页另存为多个word文件的VBA代码