使用autotools在替换文件中执行替换

时间:2015-03-21 02:32:36

标签: linux makefile autotools

我试图环顾四周,似乎无法找到正确的信息。我想用@ srcdir @替换AC_SUBST_FILE使用的文件。这可能吗?

1 个答案:

答案 0 :(得分:1)

AC_OUTPUT不允许你进行两个替换步骤,所以我认为不可能。但是,您可以这样做:

my_substitution_file:

srcdir is %srcdir%

configure.ac:

AC_PROG_SED
file=my_substitution_file
AC_SUBST_FILE([file])
AC_CONFIG_FILES([my_file.in])
AC_OUTPUT

Makefile.am:

my_file: my_file.in Makefile
    $(AM_V_GEN)$(SED) -e s,%srcdir%,$(srcdir), <$< >$@

my_file.in.in:

Here is what my_substitution_file has to say: @file@

总之,这应该会产生一个名为my_file的文件,内容为:

Here is what my_substitution_file has to say: srcdir is /path/to/your/source