我该如何更改这些变量?

时间:2017-08-17 03:44:59

标签: c autotools

我的C代码,我基于GNU hello,这个

printf (_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);

现在我想更改包变量,但我找不到它们的设置位置。你知道我可以在哪里改变它们吗?如果我搜索项目中的变量,我只会找到自动生成的文件,例如config.h等。

变量必须来自某个地方,它在哪里?

我构建项目的方式是./configure && make && sudo make install

1 个答案:

答案 0 :(得分:1)

它们来自configure脚本:

# Identity of this package.
PACKAGE_NAME='GNU Hello'
PACKAGE_TARNAME='hello'
PACKAGE_VERSION='2.7'
PACKAGE_STRING='GNU Hello 2.7'
PACKAGE_BUGREPORT='bug-hello@gnu.org'
PACKAGE_URL='http://www.gnu.org/software/hello/'

Makefile.in包含:

PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@

并且配置脚本中可能有一些东西用变量值替换所有@VARNAME@占位符。

我发现了这些:

grep -R PACKAGE_NAME .

hello-2.7目录中。