关于makefile文件中的变量

wudi7965 2002-07-05 05:15:29
我在makefile文件中定义了一个变量AA,其值由一shell命令产生;另一变量BB又引用它,B也是一shell命令,例如:
AA=`cat filename` #我的本意是想使AA等于一字符串
BB=`echo $(AA) | sed -e 's/a/b/'`
等到使用变量BB时我发现它变成了 `echo `cat filename` | sed 's/a/b/'`。
这样由于两层撇号“`”冲突导致语法错误。
我在一篇关于GNU MAKE的文章中看到用“:=”代替“=”,可我在HP上却不能用。
有什么办法可使变量在定义时就把结果解析执行出来,而不是在使用时再动态获得。
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wudi7965 2002-07-06
  • 打赏
  • 举报
回复
我试了,上面的方法在Linux下的gmake是可行的,但我现在必须用HP-UNIX的make呀,还有别的方法吗?
wudi7965 2002-07-06
  • 打赏
  • 举报
回复
我试了,上面的方法在Linux下的gmake是可行的,但我现在必须用HP-UNIX的make呀,还有别的方法吗?
qxp 2002-07-06
  • 打赏
  • 举报
回复
你用gmake 而不用HP-UNIX 自待的make 试试看
应为gmake 对make 做了些扩展
StarLee 2002-07-05
  • 打赏
  • 举报
回复
我又想到了一种方法
试试AA=$(shell cat filename)
如果还不行
我就没有其他办法了
StarLee 2002-07-05
  • 打赏
  • 举报
回复
就是应该用:=
StarLee 2002-07-05
  • 打赏
  • 举报
回复
就是应该用;=

19,614

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧