【问题标题】:Perform substitution in a substitution file with autotools使用自动工具在替换文件中执行替换
【发布时间】:2015-03-21 02:32:36
【问题描述】:

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

【问题讨论】:

    标签: linux makefile autotools


    【解决方案1】:

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

    我的替代文件:

    srcdir is %srcdir%
    

    配置.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
    

    【讨论】:

    • 感谢您的回复和解决方法。我不认为一次性的双重替换是有效的,但我认为我不是第一个尝试它的人。
    猜你喜欢
    • 1970-01-01
    • 2010-10-19
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多