Web项目的Makefile:如何正确使用占位符?

时间:2015-12-21 16:52:39

标签: sed makefile

应该很简单。我有一个web项目的makefile(不要问我为什么:):

solution = solution_name
common = app css js/*.js js/app js/locale #...
private = app css image js template #...

all:
  @echo Solution '${solution}'
  @tar cvfz ${solution}.tgz --exclude=.svn \
  $(addprefix ../../, ${common}) \
  ${private}

我的目标是让app.js文件包含make-variable %VERSION%,我可以替换它,并包含到存档中,而不是更改原始文件(将来使用此变量)。我目前所发现的只是

sed -i -r "s/%VERSION%/`svnversion`/" js/app.js

此代码完成了一半的工作。该行在处理后被修改,我不能第二次使用set。我怎样才能实现目标?谢谢。

1 个答案:

答案 0 :(得分:0)

我使用以下技巧来解决这些问题:

woman(Y)

在myfile.ext中我有:

sed -i 's# *=.*//.*VERSION.*# = "`get_version`" // comment with word VERSION inside it#' myfile.ext

因此,每次运行sed时,它都会获得实际版本(日期,时间,分支,等等),这可以像我经常需要的那样重复