pic*_*c11 9 automake autoconf makefile
在Makefile.in我看到变量定义,其中外部变量名称包含在两个@符号之间
# @configure_input@
package = @PACKAGE_NAME@
Run Code Online (Sandbox Code Playgroud)
那些外部变量来自哪里?另外,我在GNU手册中找不到两个@符号之间完全包含变量的含义是什么意思?它是Makefile.in特有的东西吗?
谢谢.
这是一个autoconf的事情.
当./configure运行完成后,它会生成并执行一个文件称为config.status,这是具有变量替代的终值(以申报任何一个shell脚本AC_SUBST).
声明的任何内容AC_CONFIG_FILES都由处理config.status,通常是通过foo.in转换foo.
当automake进程Makefile.am进入时Makefile.in,任何AC_SUBST变量都会自动变为可用(使用类似的声明FOO = @FOO@),除非通过调用来抑制它AM_SUBST_NOTMAKE.
(我不是专家,但是)是的,它们特定于 Makefile.in,并configure在组装时替换它们Makefile,请参阅 Autoconf 手册,第 4.8 节。例如,由AC_INIT@PACKAGE_NAME@定义。
| 归档时间: |
|
| 查看次数: |
2149 次 |
| 最近记录: |