如何读取文本文件的第一行并将其分配给makefile中的变量?

时间:2013-04-03 05:22:19

标签: makefile

我有一个名为info.txt的文件。我想读取文件的第一行并将其分配给makefile中的变量BUILD_NO。我该怎么做?

2 个答案:

答案 0 :(得分:1)

如果您只能在命令脚本中使用该值,并且您并不担心它被引用,那么Jonathan的解决方案将非常有效。如果你想在makefile中使用它,或者你关注脚本中出现的'$(BUILD_NO)'之类的内容,并且你愿意将自己限制在GNU make中,你可以使用:

BUILD_NO := $(shell head -n 1 info.txt)

(我在这里使用head只是因为它效率稍高一些)。在其他一些版本的make中还有其他选择,但不幸的是,没有任何真正可移植的版本。

答案 1 :(得分:0)

BUILD_NO = `sed 1q info.txt`

当您在操作中引用${BUILD_NO}$(BUILD_NO)时,将执行shell片段。您可能也决定要在它周围加双引号:

BUILD_NO = "`sed 1q info.txt`"

如果你想在依赖信息中使用它,你必须更加努力 - 你在哪个平台使用哪个版本的make