社区
Linux/Unix社区
帖子详情
Makefile中怎么传递变量
harberxie
2008-12-09 09:15:37
Makefile文件中想把获取当前时间并传递到C程序中
如:
MAKE_TIME = 'date +%Y%m%d%H%M%S'
CFLAGS +=-DVERSION_TIME=$(MAKE_TIME)
但编译的时候宏定义VERSION_TIME的值为'date +%Y%m%d%H%M%S',而不是先获取当前时间如20081213091430的值付给
VERSION_TIME。
...全文
1450
4
打赏
收藏
Makefile中怎么传递变量
Makefile文件中想把获取当前时间并传递到C程序中 如: MAKE_TIME = 'date +%Y%m%d%H%M%S' CFLAGS +=-DVERSION_TIME=$(MAKE_TIME) 但编译的时候宏定义VERSION_TIME的值为'date +%Y%m%d%H%M%S',而不是先获取当前时间如20081213091430的值付给 VERSION_TIME。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
once_and_again
2008-12-10
打赏
举报
回复
[Quote=引用 3 楼 mymtom 的回复:]
引用 1 楼 liujixin8 的回复:
我从你的题目中,发现,MAKE_TIME的定义有问题,应该写做:MAKE_TIME=`date +%Y%m%d%H%M%S`。 也就是说date +%Y%m%d%H%M%S要用`来括起来。就是键盘上Tab键上面,1键旁边的那个键。而不是单引号。
另外,在执行make命令时,可以制定Makefile中某一变量的值。例如你在这里用MAKE_TIME在Makefile文件中定义了,那么你就可以用make MAKE_TIME=`date +%Y%m%d%H%M%S`来编译,这样,在编译过程中,该值…
[/Quote]back quote key
mymtom
2008-12-10
打赏
举报
回复
[Quote=引用 1 楼 liujixin8 的回复:]
我从你的题目中,发现,MAKE_TIME的定义有问题,应该写做:MAKE_TIME=`date +%Y%m%d%H%M%S`。 也就是说date +%Y%m%d%H%M%S要用`来括起来。就是键盘上Tab键上面,1键旁边的那个键。而不是单引号。
另外,在执行make命令时,可以制定Makefile中某一变量的值。例如你在这里用MAKE_TIME在Makefile文件中定义了,那么你就可以用make MAKE_TIME=`date +%Y%m%d%H%M%S`来编译,这样,在编译过程中,该值就被正确传递进去了。
[/Quote]
正解
[code=BatchFile]
MAKE_TIME = `date +%Y%m%d%H%M%S`
CFLAGS += -DVERSION_TIME=$(MAKE_TIME)
all:
echo $(CFLAGS)
[/code]
hupo1982
2008-12-09
打赏
举报
回复
楼主的意思是想传递到C程序中,我觉得不必要在Makefile中取得,你可以直接在C代码里面来执行啊
好像popen和exec可以做到,具体我也没弄过
liujixin8
2008-12-09
打赏
举报
回复
我从你的题目中,发现,MAKE_TIME的定义有问题,应该写做:MAKE_TIME=`date +%Y%m%d%H%M%S`。 也就是说date +%Y%m%d%H%M%S要用`来括起来。就是键盘上Tab键上面,1键旁边的那个键。而不是单引号。
另外,在执行make命令时,可以制定Makefile中某一变量的值。例如你在这里用MAKE_TIME在Makefile文件中定义了,那么你就可以用make MAKE_TIME=`date +%Y%m%d%H%M%S`来编译,这样,在编译过程中,该值就被正确传递进去了。
makefile
的
变量
用法
详细介绍
Makefile
中
变量
的用法,例如,
变量
引用、
变量
引用的高级用法、如何使用环境
变量
等等。
Makefile
语法分析
makefile
实例分析
Makefile
语法分析 第一部分 VERSION = 2# 给
变量
VERSION赋值...# 还有个特殊
变量
SHELL与MAKEFLAGS一样,默认情况(没有用“unexport”声明)下在整个make的执行过程
中
被自动的
传递
给所有的子make。
make与
Makefile
1.简介 3 1.1.准备工作 3 1.2.
Makefile
介绍 3 1.3.规则简介 4 1.4.make工作原理 4 1.5.使用
变量
5 ...4.6.2.
传递
变量
到子make 21 6.参考 25 6.1.指令 25 6.2.函数 26 6.3.自动
变量
27 6.4.特殊
变量
28
Makefile
中
的
变量
变量
在不同的
makefile
之间的
传递
1、直接在外部定义环境
变量
进行
传递
2、使用 export 定义
变量
进行
传递
(定义临时环境
变量
) 3、定义 make 命令行
变量
进行
传递
(推荐)
makefile
1: 其
中
的 var 使用 export 的...
makefile
变量
(1)
makefile
中
支持程序设计语言
中
变量
的概念 (2)
makefile
中
的
变量
只代表文本数据(字符串) (3)
makefile
中
的
变量
名规则
变量
名可以包含字符,数字,下划线 不能包含“:”,"#","=“或” "
变量
名大小写敏感 (4)
变量
的...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章