社区
系统维护与使用区
帖子详情
makefile中取时间作变量值
toadzw
2015-09-13 08:12:16
各位,我想在一个文件编译完成后,取系统时间作为文件名,进行备份。
如何进行?
tar czvf test`date +%y_%m_%d_%02k_%M`.tgz test
mv test`date +%y_%m_%d_%02k_%M`.tgz ./backup
这样是可以,但如果文件太大的话,前后二个时间会不一致就。
如何在makefile把时间保存到一个变量中,这样就不会有这个问题了。
...全文
431
5
打赏
收藏
makefile中取时间作变量值
各位,我想在一个文件编译完成后,取系统时间作为文件名,进行备份。 如何进行? tar czvf test`date +%y_%m_%d_%02k_%M`.tgz test mv test`date +%y_%m_%d_%02k_%M`.tgz ./backup 这样是可以,但如果文件太大的话,前后二个时间会不一致就。 如何在makefile把时间保存到一个变量中,这样就不会有这个问题了。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
toadzw
2015-09-19
打赏
举报
回复
FILENAME=test`date +%y_%m_%d_%02k_%M`.tgz all: echo $(FILENAME) tar czvf $(FILENAME) test 这样就可以了。
toadzw
2015-09-19
打赏
举报
回复
请写一个完整的,我用了真是不行。
FILENAME=test`date +%y_%m_%d_%02k_%M`.tgz
echo $(FILENAME)
tar czvf $(FILENAME) test
这样子运行是没有效果的哦。
alinly
2015-09-16
打赏
举报
回复
提前声明变量,获得时间,然后统一使用.
__小帅
2015-09-14
打赏
举报
回复
单独声明一个变量,引入就行了,像一楼那样
zhxianbin
2015-09-13
打赏
举报
回复
FILENAME=test`date +%y_%m_%d_%02k_%M`.tgz
Makefile
之使用变量
define指令用于设置变量的值,其语法特殊,允许在值中包含换行符,这对于定义一系列命令和用于eval函数的
Makefile
语法段非常方便。define指令与其他变量定义的工
作
方式基本相同,只是其语法略有不同。definevalueendef在同一行上,define指令后面跟着被定义的变量名称和(可选的)赋值运算符,然后是换行。变量的值出现在接下来的行中。
变量值
的结束由一行仅包含单词 “endef” 标志。除了语法上的不同之外,define的工
作
原理与其他变量定义方式相同。
makefile
(一):变量
makefile
简介对于linux来说,IDE环境并不多,就算有IDE也没有命令行好用。在这种情况下,没有ID E的帮助,要管理一个工程的编译是非常困难的,此时make工具诞生了。 make将管理一个工程的规则,写入文件中,然后,make读取这里面的规则,来决定如何编译一个工程(比如,那些文件先编译,那些文件后编译等) 那么这里面的重中之重就是规则了。下面来一个简单的规则文件。main:main
【嵌入式C语言破壁指南系列——
Makefile
:概述、语法与变量解析】
本文从
Makefile
基础概述到语法规则讲起,拆解如何用
Makefile
将碎片化编译转化为可维护的自动化流程,让构建系统从负担变为基石。
跟我一起写
Makefile
(下)
你可以使用模式规则来定义一个隐含规则。一个模式规则就好像一个一般的规则,只是在规则中,目标的定义需要有"%“字符。”%“的意思是表示一个或多个任意字符。在依赖目标中同样可以使用”%“,只是依赖目标中的”%"的取值,取决于其目标。有一点需要注意的是,"%“的展开发生在变量和函数的展开之后,变量和函数的展开发生在make载入
Makefile
时,而模式规则中的”%"则发生在运行时。
linux Make 工具
Makefile
变量
当工
作
目录中不存在clean 命名文件时,执行 make clean 命令 rm -rf *.o main总会被执行。所以通过 make 工具,可以查找到修改过的文件(根据
时间
戳),只对修改过的文件进行编译,这样大大减小了编译的
时间
,提高编译效率。当项目中包含了多个.c文件,但只对其中一个文件进行了修改,那用 gcc 编译会将所有的文件从头到尾编译一遍,这样的效率非常低。工程管理器、管理较多的文件。伪命令它的目的不是创建目标文件,而是执行下面的命令。
Makefile
文件的内容来执行大量的编译工
作
。
系统维护与使用区
19,619
社区成员
74,587
社区内容
发帖
与我相关
我的任务
系统维护与使用区
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
复制链接
扫一扫
分享
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章