Makefile —— 如何在文件内使用变量?
在上篇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 —— 如何在文件内使用变量?相关推荐
- 使用poi替换ppt文件内的变量参数,包含ppt和pptx格式
使用poi替换ppt文件内的变量参数,包含ppt和pptx格式 依赖的jar包 <dependencies><dependency><groupId>org.apa ...
- vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...
本篇文章介绍 vim 的一些使用技巧: 在程序代码中快速跳转 在文件内跳转到变量定义处 在程序代码中快速跳转 在 vim 中查看代码文件时,可以使用下面命令在程序代码中快速跳转,提高效率. % 跳转到 ...
- linux make makefile 内置变量 默认变量
在看uboot的Makefile的时候,发现CURDIR这个变量没有定义就直接用了,于是百度了一下,原来CURDIR是Makefile的一个内置变量,在这里顺便把其他的变量也记录一下. 打印变量值使用 ...
- 文件自定义变量_awk 内置变量与自定义变量
点击上方"生信科技爱好者",马上关注真爱,请置顶或星标 作者:ghostwu 原文:https://www.cnblogs.com/ghostwu/p/9085653.html A ...
- Makefile自定义函数 / pushd,popd / ifneq / findstring / camke内置变量
①Makefile 自定义函数 1.自定义函数编写 自定义函数一般上是命令的集合 define func1 @echo "func name is $(0)\n" @echo &q ...
- 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin
1. 变量的定义 Makefile 文件中定义变量的基本语法如下: 变量的名称=值列表 变量的名称可以由大小写字母.阿拉伯数字和下划线构成.等号左右的空白符没有明确的要求,因为在执行 make 的时候 ...
- awk 内置变量与自定义变量
点击上方"生信科技爱好者",马上关注真爱,请置顶或星标 作者:ghostwu 原文:https://www.cnblogs.com/ghostwu/p/9085653.html A ...
- nginx内置变量 大全
参考:agentzh 的 Nginx 教程(版本 2016.07.21) 在配置基于nginx服务器的网站时,必然会用到 nginx内置变量 ,下面笔者将它整理成列表,把最新版本的变量列出来,以方便 ...
- 设计所需的各种输出格式(包括整数、实数、字符串等),用一个文件名format.h把这些信息都包括到此文件内,另编写一个文件,用文件包含命令验证可以使用这些格式
<程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p241 习题7 16.设计所需的各种输出格式(包括整数.实数.字符串等),用一个文件名"fo ...
最新文章
- tomcat 设定自定义图片路径
- ACM图灵奖获得者:想从大数据中获益,先解决集成问题!
- 运维笔试Python编程题
- 游戏开发中 UI 是由谁来完成的?
- 向左滚动,每次滚动的长度可以设置,然后暂停后继续滚动
- C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二)让物体动起来②
- java取multipart_spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比...
- 学习: 导航器添加修饰符
- 如何将 Mac 置入睡眠状态或唤醒 Mac?
- 下课拉~~~~~~~~~~~想写就写
- java 内部邮件_java – 来自内部存储的电子邮件
- 使用AD14制作PCB的全部流程以及PCB打样流程介绍
- vue读取本地xlsx文件
- 数字人还能设计数字藏品?希加加xQee创作人间十二月
- 文本表示(Representation)
- android 后台录制视频,Android实现视频录制
- U盘偷资料神器,我都不太敢分享了。
- 深度解读物联网区块链“IOTA”:不仅解决IoT痛点,还解决区块链痛点
- 听完阿里“计算”家族技术领头人的分享,真的受益匪浅!
- 精通手游运维的架构体系